环境:
CentOS 8
Mysql 8
1、修改mysql 设置无密码访问
修改 my.cnf ,添加 skip-grant-tables;
vim /etc/my.cnf
[mysqld]
#跳过登录验证
skip-grant-tables
【修改后重启 mysql】
service mysqld restart
2、进入mysql ,将root 密码设置成 ‘’;
mysql -uroot -p
因为设置成无密码访问了,所以密码直接回车,就能进入系统
然后执行:
mysql>use mysql;
mysql>mysql> update user set authentication_string='' where user='root';
3、修改my.cnf 设置为密码访问,将skip-grant-tables 删除
vim /etc/my.cnf
[mysqld]
#跳过登录验证
#skip-grant-tables
【修改后重启 mysql】
service mysqld restart
4、登录mysql,use mysql 会提示让你设置密码
mysql> use mysql
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
5、修改密码
mysql> alter user 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY ‘123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这个是错误是 默认mysql 的密码策略是“大小写,特殊字符,数字”
mysql> alter user 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'XLa&^7sdf5628';
Query OK, 0 rows affected (0.01 sec)
最后总结
步骤 设置无密码访问—>进入mysql,清空密码—>设置有密码访问—>提示设置密码。