在Ubuntu 16.04/17.10和18.04 LTS上重置MySQL root密码

设置MySQL root密码

要重置MySQL root密码,请登录Ubuntu服务器并运行以下命令以停止MySQL数据库服务

sudo /etc/init.d/mysql stop

然后运行以下命令以创建新的MySQLD目录

sudo mkdir /var/run/mysqld/

并为MySQL用户访问它。

sudo chown mysql /var/run/mysqld/

之后,通过绕过标准身份验证过程,运行以下命令以在安全模式下启动MySQL。

sudo mysqld_safe --skip-grant-tables &
jack@ubuntu1710:~15-12-25T16:49:30.551520Z mysqld_safe Logging to syslog.
2015-12-25T16:49:30.554646Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2015-12-25T16:49:30.578079Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
2015-12-25T16:49:32.568746Z mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
[1]+  Done                    sudo mysqld_safe --skip-grant-tables

使用root帐户登录数据库服务器,无需键入密码。

sudo mysql -u root

登录数据库后,运行以下SQL命令语句以使用默认MySQL数据库。
此数据库包含root用户和其他服务器配置的设置信息。

use mysql;

输出示例:

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed

修改root密码

update user set authentication_string=PASSWORD("New_Passwore_Here") where User='root';

通过运行下面的命令来保存更改

flush privileges;
exit;

最后,停止MySQL Safe模式并启动MySQL默认服务

sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start

使用root账号和新的密码重新登录MySQL数据库。

sudo mysql -u root -p
日期:2020-07-07 20:55:03 来源:oir作者:oir