1

У меня есть новый MBP с Yosemite. Я установил последнюю версию MySQL (5.6.21 через файл pkg), успешно установил пароль и посмотрел его через Sequel Pro. Тем не менее, я не могу войти в mysqladmin. Обычно, как и в Ubuntu, я могу сделать:

 mysqladmin -u root -p

Но терминал выводит меня в файл справки. Конечно, правила не изменились. Файл справки подтверждает, что если я оставлю пароль после аргумента -p, TTY возьмет на себя управление, но это не так.

 mysqladmin -u root --password 

выдает то же самое справочное сообщение.

 mysqladmin -u root -password 'password'

запрашивает ожидаемый пароль, НО, когда я передаю его, затем выдает неизвестную команду «пароль».

Я сделал скрипт /usr /local /bin /mysql_secure_installation, но не изменил никаких значений. Если мой пароль root изменился, почему я все еще смогу подключиться через sequel pro и другие соединения PHP?

Я уверен, что это то, что я пропускаю, но ценю, что есть кое-что, чего я не нашел в своих поисках в Google, спасибо, Сэм.

1 ответ1

2

Программа mysqladmin не является интерактивным клиентом. Это клиентская утилита. mysqladmin позволяет запустить connect to mysqld, запустить одну команду из определенного набора команд, а затем отключиться.

ПРИМЕР № 1

Некоторые команды, которые можно выполнить в клиенте mysql, можно выполнить в mysqladmin.

mysqladmin -uroot -ppassword flush-hosts
mysqladmin -uroot -ppassword processlist

ПРИМЕР № 2

Некоторые команды, которые невозможно выполнить в клиенте mysql, можно выполнить в mysqladmin.

Например, упорядоченное отключение mysqld может быть сделано следующим образом:

mysqladmin -uroot -ppassword shutdown

Конечно, service mysql stop будет работать. К сожалению, service mysql stop не работает, когда файл сокета пропал. Иногда это может случиться, когда человек service mysql start с уже запущенного mysqld. Это удаляет файл сокета. mysqladmin -uroot -ppassword shutdown требуется файл сокета, поскольку вы подключаетесь как root@localhost . Если у вас есть пользователь root@127.0.0.1 , вы все равно можете выполнить упорядоченное завершение работы, подключившись через TCP/IP к mysqladmin, например так

mysqladmin -uroot -ppassword -h127.0.0.1 --protocol=tcp shutdown

У меня есть много сообщений об этом, таких как эти

Что касается вашего исходного вопроса, если вы хотите проверить пароль, вы должны использовать mysql, а не mysqladmin. Вы должны сделать это

mysql -uroot -p

В качестве альтернативы, если вы все еще хотите использовать mysqladmin, сделайте это

mysqladmin -uroot -ppassword ping

Попробуйте!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .