1、sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
添加 skip-grant-tables
2、启动mysql,使用命令sudo /etc/init.d/mysql start
3、登陆 mysql -uroot
4、执行语句
(1) update mysql.user set authentication_string=password('newpasswd') where user='root';
flush privileges;
(2) update mysql.user set host='%' where user='root';
flush privileges;
(3) update mysql.user set plugin="mysql_native_password" where User='root';
flush privileges;
(4) grant all privileges on *.* to 'root'@'%' identified by 'newpasswd with grant option;
flush privileges;
5、vim /etc/mysql/mysql.conf.d/mysqld.cnf
去掉 skip-grant-tables
bing-address=127.0.0.1(其他机器可以访问)
6、sudo /etc/init.d/mysql restart 重启服务
7、用其他机器连接数据库试试!(记得关闭防火墙)
8、密码过于简单
(报错:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.)原因是不符合mysql的安全要求,设置的密码需要满足密码复杂性的要求,需要大小写字母,数字组合,最小长度为8位,根据这个密码策略,需要重新设置密码,如果不想重新设置密码,继续简单的密码,则需要设置密码安全策略。
在数据库中需要输入:
# 设置密码强度
set global validate_password_policy=0;
# 设置密码长度
set global validate_password_length=1;
# 修改密码
set password = password('newpasswd');