8 ответов:
вы можете сбросить пароль root, запустив сервер с
--skip-grant-tablesи вход в систему без пароля, запустив следующее как root (или с помощью sudo):# service mysql stop # mysqld_safe --skip-grant-tables & $ mysql -u rootmysql> use mysql; mysql> update user set authentication_string=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root'; mysql> flush privileges; mysql> quit# service mysql stop # service mysql start $ mysql -u root -pтеперь вы должны иметь возможность войти в систему как root с вашим новым паролем.
также можно найти запрос, который сбрасывает пароль в
/home/$USER/.mysql_historyили/root/.mysql_historyпользователя, который сбросил пароль, но выше всегда будет работать.Примечание: до MySQL 5.7 столбец назывался
passwordвместоauthentication_string. Заменить строку выше наmysql> update user set password=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';
Я понимаю, что это старый поток, но я думал, что обновлю его с моими результатами.
Алекс, похоже, что вы установили сервер MySQL через мета-пакет "mysql-server". Это устанавливает последний пакет по ссылке (в моем случае, mysql-server-5.5). Мне, как и вам, не было предложено ввести пароль MySQL при настройке, как я ожидал. Я полагаю, что есть два ответа:
Решение #1: Установите MySQL по полной имя:
$ sudo apt-get install mysql-server-5.5или
решение №2: перенастроить пакет...
$ sudo dpkg-reconfigure mysql-server-5.5необходимо указать полное имя пакета. Использование мета-пакета "mysql-server" не дало желаемого для меня результата. Надеюсь, это кому-то поможет :)
MySQL 5.5 на Ubuntu 14.04 требуются несколько другие команды, как рекомендуется здесь. В двух словах:
sudo /etc/init.d/mysql stop sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking & mysql -u rootи затем из приглашения MySQL
FLUSH PRIVILEGES; SET PASSWORD FOR root@'localhost' = PASSWORD('password'); UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root'; FLUSH PRIVILEGES;и цитируемый источник предлагает альтернативный метод.
для RHEL-mysql 5.5:
/etc/init.d/mysql stop /etc/init.d/mysql start --skip-grant-tables mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root'; mysql> FLUSH PRIVILEGES; mysql> exit; mysql -uroot -pnewpwd mysql>
sudo mysql -u root ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YOUR_PASSWORD_HERE'; FLUSH PRIVILEGES; mysql -u root -p # and it works
вы не можете-однако:http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
Хм Mysql 5.7.13 чтобы сбросить все, что я сделал, было:
$ sudo service mysql stopостановить mysql
$ mysqld_safe --skip-grant-tables &запуск mysql
$ mysql -u rootэто как правильный ответ. Тогда все, что я сделал, это то, что сделал @eebbesen.
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('NEW-password-HERE');надеюсь, что это поможет кому-нибудь там:)
в MYSQL 5.7, если вы используете mysql для целей разработки, просто:
1.убить mysql:
$ sudo service mysql stop2.запустите mysql в режиме --skip-grant-tables:
$ sudo mysqld_safe --skip-grant-tablesи, кроме того, вы можете попытаться изменить пользовательскую таблицу в режиме "пропустить-предоставить-таблицу", однако я потерпел неудачу.
Итак, это просто обходной путь.
Comments