Ubuntu 安装MySQL,修改root密码


apt命令安装MySQL, 过程中没有设置root密码。 安装完成后,无法登录root,因此修改root密码。

1、设置免密登录

修改文件/etc/mysql/mysql.conf.d/mysqld.cnf,在[mysqld]这一块中加入skip-grant-tables这句话。

修改后重启服务生效,systemctl restart mysql.service

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
#
# * Basic Settings
#
user            = mysql
...
max_binlog_size   = 100M
# binlog_do_db          = include_database_name
# binlog_ignore_db      = include_database_name
skip-grant-tables

2、登录root用户mysql -uroot -p,这个时候直接回车,不要密码。

3、修改root密码

use mysql;

ALTER user 'root'@'localhost' IDENTIFIED BY '123456';

flush privileges;

 

修改完后,退出就能用root新的密码登录了。 然后打开/etc/mysql/mysql.conf.d/mysqld.cnf文件把skip-grant-tables删除。修改后重启服务生效,systemctl restart mysql.service。

PS:

步骤3,如果碰到以下报错,则先执行flush privileges;命令。

mysql> ALTER user 'root'@'localhost' IDENTIFIED BY '123456';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

如果碰到以下报错。

ALTER user 'root'@'localhost' IDENTIFIED BY '123456';
ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded

先select user,plugin from user;查看plugin。 然后修改和其他的一样,update user set plugin='caching_sha2_password' where User ='root';

 再执行flush privileges;命令。

处理了错误后,在执行步骤3.