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.