Я только что установил MySQL на Ubuntu, и пользователь root не может войти в систему:)
Как я могу восстановить или узнать мой пароль? Использование пробела для пароля не работает.
Я только что установил MySQL на Ubuntu, и пользователь root не может войти в систему:)
Как я могу восстановить или узнать мой пароль? Использование пробела для пароля не работает.
Вы можете сбросить пароль root, запустив сервер с --skip-grant-tables
и войдя без пароля, выполнив в качестве пользователя root (или с помощью sudo):
# service mysql stop
# mysqld_safe --skip-grant-tables &
$ mysql -u root
mysql> 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" не имело желаемого результата для меня. Надеюсь, это поможет кому-то:)
Ссылка: https://help.ubuntu.com/12.04/serverguide/mysql.html
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
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 [email protected]'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>
Вы не можете - однако: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
Hmm Mysql 5.7.13 до reset все, что я сделал, было:
$ sudo service mysql stop
Чтобы остановить mysql
$ mysqld_safe --skip-grant-tables &
Запустить mysql
$ mysql -u root
Как правильный ответ. Тогда все, что я сделал, это делать то, что сделал @eebbesen.
mysql> SET PASSWORD FOR [email protected]'localhost' = PASSWORD('NEW-password-HERE');
Надеюсь, что это поможет кому угодно:)
Есть простое решение.
MySql 5.7 поставляется с анонимным пользователем, поэтому вам нужно перенастроить сервер MySQL.
Вы можете сделать это с помощью этой команды
попытаться найти временный проход:
grep 'temporary password' /var/log/mysqld.log
затем:
sudo mysql_secure_installation
По этой ссылке больше информации о MySQL 5.7
https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html
В соответствии с MYSQL 5.7, если вы используете mysql для целей разработки, просто:
1.kill mysql:
$ sudo service mysql stop
2.start mysql в режиме -skip-grant-tables:
$ sudo mysqld_safe --skip-grant-tables
и, кроме того, вы можете попытаться изменить таблицу пользователя в режиме "skip-grant-table", однако я потерпел неудачу.
так, это всего лишь обходной путь.
Это на самом деле очень просто. Вам не нужно проходить много вещей. Просто выполните следующую команду в терминале и следуйте инструкциям на экране.
sudo mysql_secure_installation