首先我们应该免密码登录root用户的MySQL才能进进行密码的修改。
我们只需要在/etc/my.cnf文件中的[mysqld]下面加上一行
skip-grant-tables
如下:
然后使用如下命令重启MySQL服务,不重启是不生效的
systemctl restart mysqld.service
使用命令查看MySQL的状态:
systemctl status mysqld.service
下面这个样子就是没有问题:
然后使用如下命令登录MySQL:
mysql -uroot -p
弹出password的时候,不需要输入,再回车一下即可
如下是登陆成功的样子:
密码修改代码:
第一次修改可能会违反安全协议,弹出密码不安全的提示,很烦人,当然如果你是那种喜欢设置很长密码的人,那和你没关系。
ALTER USER "root"@"localhost" IDENTIFIED BY "123123";
如果弹出ERROR1290,如下:
这个时候刷新一下权限即可:
flush privileges;
再次执行修改密码的代码,结果如下:
ERROR1819提示密码不符合安全策略,那么我们就修改安全策略。
如下命令将mysql的安全检查设置为低 :
set global validate_password_policy=0;
如下命令设置密码的最短长度,1不是一个字符就行:
set global validate_password_length=1;
我们先设置安全检查(顺序无所谓):
提示了如下错误:
如果遇到如上提示,说明你没有密码验证插件,解决方法如下:
首先还是打开/etc/my.cnf这个文件
继续在[mysqld]下面加上两行加载插件的代码如下:
plugin-load-add=validate_password.so validate-password=FORCE_PLUS_PERMANENT
plugin-load-add=validate_password.so:插件的加载方法,每次服务器启动时都必须给出该选项;
validate-password=FORCE_PLUS_PERMANENT:validate-password在服务器启动时使用该选项来控制插件的激活。
修改了配置之后一定要重启MySQL服务,如下:
登录MySQL:
如下命令可以查看MySQL安全策略,如果没有配置密码验证插件是不显示的。
SHOW VARIABLES LIKE "validate_password%";
如下:
修改难度等级:
修改密码最短长度:
再看一次安全策略有没有被修改,下面是修改成功的展示:
刷新:
修改密码:
exit退出:
登陆一下试试:
完成!
下面的设置是根据你自己的想法来设置,你不想授权就不授权。
GRANT ALL PRIVILEGES ON *.* TO "root"@"%" IDENTIFIED BY "mypassword" WITH GRANT OPTION; flush privileges;
如下:
至此,结束。
到此这篇关于MySQL5.73 root用户密码修改方法及ERROR 1193、ERROR1819与ERROR1290报错解决的文章就介绍到这了,更多相关MySQL root用户密码修改内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!