подключение к MySQL из командной строки

225

Как вы можете подключиться к MySQL из командной строки на Mac? (т.е. покажи мне код)

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

Leahcim
источник

Ответы:

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

Nishant
источник
спасибо, 2 вопроса 1) вы должны включить "- u" "- p" и т. д., или они заменены именем пользователя и т. д. 2) если база данных не создана, вы просто оставляете это поле пустым?
Leahcim
2
Можно настроить проверку подлинности MySQL на основе пользователя, который вошел в систему как пользователь, или не прошел проверку подлинности вообще, но это также не является хорошей идеей. Указание пароля в командной строке представляет собой даже небольшую угрозу безопасности, поскольку в конечном итоге это происходит в вашей команде. таблицы истории и процесса. Если вы пропустите пароль, он попросит вас об этом.
dj_segfault
@ Майкл 1) обновлен. ALL-CAPS необходимо заменить фактическими значениями. оставьте -u, -p, -h как есть 2) да. После входа в систему введите show databasesсписок баз данных.
Nishant
3
@dj_segfault верно. Так что, если вы уйдете, -pне указав пароль, вам будет предложено ввести пароль.
Nishant
Если у вас нет созданной базы данных, вам нужно использовать команду mysqladmin для ее создания. Но я полагаю, что когда вы устанавливаете сервер, создается база данных «mysql» по умолчанию, которая содержит всю информацию о схеме и аутентификации. Вы можете войти в него (если у вас достаточно прав) и создать другие базы данных оттуда.
dj_segfault
129

Лучшая практика будет mysql -u root -p. Затем MySQL запросит пароль после того, как вы нажмете Enter.

стог
источник
25
Чтобы уточнить, это удерживает ваш пароль от показа в .bash_history. Используя текущий метод с наибольшим количеством голосов, если кто-то получает доступ $HOME(и, следовательно, к нему .bash_history), у него также есть ваши данные аутентификации - страшно! Такое вторжение может (и действительно ) произойти ...
Джереми
Вы можете выполнить команду bash, не отображая ее в .bash_profie. Подробнее здесь: commandlinefu.com/commands/view/1512/...
Skid Kadda
@ Джереми Не только в, .bash_historyно topи в других инструментах тоже! Вы даже можете защитить свои файлы, просто поделитесь компьютером с другим законным пользователем.
Мелебиус
+1, потому что в моем пароле есть специальные символы, и он не будет анализироваться, когда часть команды, это должно быть сделано отдельно.
Джексонкр
10

Используйте следующую команду, чтобы подключиться к базе данных MySQL

mysql -u USERNAME -h HOSTNAME -p

Swamy
источник
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=
Arsho
источник
0

Это сработало для меня :: -

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

или

mysql --host=hostNameorIp --user=username --password=password database_name
Ананд Тивари
источник