зависит обновление пароля mysql от учетной записи пользователя в linux? - PullRequest
0 голосов
/ 25 мая 2011

Привет, гуру Mysql и Linux!

У меня возникла странная проблема с установкой сервера Mysql на мой локальный компьютер. Вот история -

  • Обычно я работаю как пользователь non root и использую su для получения привилегий root для установки.

  • Я установил MySQL 5.1 server на мой Fedora Linux machine 13

  • Я заставил MySQLs root пользователя иметь пароль при подключении с помощью клиента mysql из localhost

  • Это то, что мне нужно - мне нужно протестировать скрипт оболочки, который вызывает mysql клиента без имени пользователя и пароля , мне нужно удалить пароль для mysqls пользователь root. Также (важно) , скрипт должен запускаться от пользователя root моего компьютера.

    mysql -D dbname

  • Это то, что я сделал - С моей не-root учетной записи linux я запустил клиент mysql, вошел в систему как root @ localhost и выполнил следующую команду для удаления пароль root @ localhost

    update user set password = PASSWORD('') where user = 'root' and host = 'localhost';

  • Проблема! - Теперь из моей учетной записи без полномочий root unix, когда я запускаю только mysql, он успешно регистрирует меня (пока все хорошо). Но , когда я делаю su, войдите как linux root (суперпользователь) и запустите mysql - я получу

    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Post Script - Я вошел в систему с альтернативной учетной записью из учетной записи суперпользователя и повторно запустил запрос для обновления пользователя. Он все еще не работал. Почему я могу запустить mysql клиента без имени пользователя и пароля как не-root пользователь , но не могу сделать то же самое, что и супер-пользователь linux ???

Любая помощь будет оценена

Ответы [ 2 ]

1 голос
/ 25 мая 2011

После обновления GRANTS или таблиц mysql многие люди забывают выполнить FLUSH PRIVILEGES.

Только после FLUSH PRIVILEGES изменения вступают в силу.

1 голос
/ 25 мая 2011

Учетные записи MySQL полностью независимы от системных учетных записей.Они могут по совпадению иметь одинаковые имена пользователей (например, учетная запись по умолчанию root, являющаяся системной И учетные записи суперпользователя mysql).

После того, как вы установили пароль для учетной записи в mysql, вы должны принудительно установитьmysql monitor (mysql команда) запрашивает параметр пароля (-p) и, возможно, указывает ваше имя пользователя MySQL (-u), если имя вашей учетной записи MySQL не совпадает с вашим именем пользователя Linux:

Другими словами:

mysql -u root -p

скажет MySQl попытаться войти в учетную запись mysql root и запросить пароль учетной записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...