部署mysql到云服务器,对于远程连接的问题,看到有大佬说在mysql的名为’mysql’数据库中直接更改权限,即
use mysql;
update user set Host='%' where User='root';
其中,% 代表任意的客户端,可替换成具体IP地址。
这里我不小心将%换错了地址(即不是本地的,也不是云服务器的),这种情况下,是无法登录数据库的。
这种情况不用多说,肯定无法登录数据库。
以上两种场景都可以通过绕过mysql密码验证来解决。
检查数据库是否是启动状态,如果是启动状态先停止服务:
service mysqld stop
找到
vi /etc/myf
在myf文件内添加:
skip-grant-tables
如果原来由但是被注释掉了,去掉注释符号#即可。
启动mysql:
service mysqld start
登录mysql:
mysql -uroot -p
提示输入密码,不用管,这时候直接点回车。
修改root账户的密码:
update mysql.user set authentication_string=password('123456') where User="root" ;
flush privileges; #刷新系统授权表
这里注意此时密码可以是很简单的组合,但如果是没有配置文件的这句skip-grant-tables,再用上述语句修改密码必须遵守mysql的安全规则,即
必须包含大小写字母、特殊符号、数字,并且长度大于8位
这样最开始说的那两种情况即可得到解决。
ps:这样操作了以后若客户端可能会出现无法连接的情况,请进行授权:
grant all privileges on *.* to root@'%'; #授权root账户远程访问权限
flush privileges; #刷新系统授权表
本文发布于:2024-01-29 03:22:47,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170646977012354.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |