підключення до MySQL з командного рядка


225

Як можна підключитися до MySQL з командного рядка в Mac? (тобто покажіть мені код)

Я роблю підручник з PHP / SQL, але він починається з припущення, що ви вже в MySQL.

Відповіді:


404

Дивіться тут http://dev.mysql.com/doc/refman/5.0/en/connecting.html

mysql -u USERNAME -pPASSWORD -h HOSTNAMEORIP DATABASENAME 

Наведені вище варіанти:

-u: username
-p: password (**no space between -p and the password text**)
-h: host
last one is name of the database that you wanted to connect. 

Подивіться за посиланням, це детально там!


Як вже згадував Рік , ви можете уникнути передачі пароля як частини команди, не передаючи пароль таким чином:

mysql -u USERNAME -h HOSTNAMEORIP DATABASENAME -p

Люди, що редагують цю відповідь: БУДЬ ЛАСКА ДОНОТАЙТЕ ПРОСТІР між -pтаPASSWORD


дякую, 2 питання 1) чи потрібно включати "- u" "- p" тощо, чи замінено ім'ям користувача і т. д. 2) якщо немає створеної бази даних, ви просто залишите це поле порожнім?
Леахім

2
Можливо налаштувати аутентифікацію MySQL на основі користувача, у якого ви ввійшли як або взагалі не підтверджуєте автентифікацію, але це не є гарною ідеєю. Вказівка ​​пароля в командному рядку є навіть невеликим ризиком безпеки, оскільки він виявляється у вашій команді таблиці історії та процесів. Якщо ви не залишите пароль, він попросить вас його.
dj_segfault

@Michael 1) оновлено. ALL-CAPS потрібно замінити фактичними значеннями. залишити -u, -p, -h, як це 2) так. Після входу введіть, show databasesщоб переглянути список баз даних.
Нішант

3
@dj_segfault справа. Отже, якщо ви підете, -pне вказуючи пароль, він запропонує вам ввести пароль.
Нішант

Якщо у вас зараз не створена база даних, вам потрібно використовувати команду mysqladmin, щоб створити її. Але я вважаю, що при встановленні сервера створюється база даних "mysql" за замовчуванням, яка містить всю схему та інформацію про автентифікацію. Ви можете увійти в цю (якщо у вас достатньо привілеїв) і створити звідти інші бази даних.
dj_segfault

128

Найкращою практикою було б mysql -u root -p. Тоді MySQL запропонує ввести пароль після натискання клавіші Enter.


25
Щоб уточнити, це запобігає появі вашого пароля в .bash_history. Використовуючи поточний метод голосування, якщо хтось отримує доступ до $HOME(і таким чином .bash_history), він також має ваші дані аутентифікації - страшно! Цей вид вторгнення може (і справді ) трапиться ...
Джеремі

Ви можете виконати команду bash без того, щоб вона відображалася в .bash_profie. Детальніше тут: commandlinefu.com/commands/view/1512 / ...
Skid Kadda

@Jeremy Не тільки в, .bash_historyале topі в багатьох інших інструментах! Ви навіть можете захистити свої файли, просто поділіться комп'ютером з іншим законним користувачем.
Мелебій

+1, оскільки в моєму паролі є спеціальні символи, і він не буде аналізувати частину команди, це потрібно робити окремо.
Джексонкр

10

Використовуйте наступну команду для підключення до вашої бази даних MySQL

mysql -u USERNAME -h HOSTNAME -p


9

Після запуску MySQL Shell і ви побачили наступне:

mysql-js>

По-перше, вам слід:

mysql-js>\sql

По-друге:

 mysql-sql>\connect username@servername (root@localhost)

І, нарешті:

Enter password:*********

3

Один із способів підключення безпосередньо до MySQL за допомогою належного імені користувача та пароля MySQL:

mysql --user=root --password=mypass

Ось

root is the MySQL username
mypass is the MySQL user password

Це корисно, якщо у вас порожній пароль.

Наприклад, якщо у вас зателефонував користувач MySQL rootз порожнім паролем, просто скористайтеся

mysql --user=root --password=

0

Це працювало для мене :: -

mysql --host=hostNameorIp --user=username --password=password  

або

mysql --host=hostNameorIp --user=username --password=password database_name
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.