【RDS运维案例--001】mysql远程连接报错,如何处理?
场景描述
客户远程连接(包括telnet3306端口)MySQL时报错:Host * is not allowed to connectto this MySQL server。
问题分析
一般是由于帐号不允许远程登录,只能在localhost登录造成。
解决方案
目前针对这种情况,我们提供了两种解决方案:
方案一:改表法
可能该帐号不允许远程登录,此时,需在安装localhost 的电脑登录mysql,并更改 “mysql 数据库 > user表 > host项 > localhost”为"%"。执行如下命令:
mysql -u root –ppasswd
use mysql;
mysql>update user set host = '%' whereuser = 'root';
mysql>select host, user from user;
mysql>flush privileges;
方案二:授权法
l 若想实现myuser使用mypassword从任何主机连接到mysql服务器,在本地登录数据库后执行如下命令:
GRANT ALL PRIVILEGES ON *.* TO'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
l 若想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码,执行如下命令:
GRANT ALL PRIVILEGES ON *.* TO'myuser'@'192.168.1.6' IDENTIFIED
BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
在安装mysql的机器上运行如下命令:
mysql -h localhost -u root//登录
mysql>GRANT ALL PRIVILEGES ON *.* TO'root'@'%' WITH
GRANT OPTION //赋予任何主机访问数据的权限
mysql>FLUSH PRIVILEGES;//修改生效
mysql>QUIT //退出MySQL服务器
这样就可以实现在其它任何的主机上以root身份登录。
file:///C:/Users/LWX331~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg
目前我方云主机,在数据库开启允许远程后,如果仍无法连接可尝试清空防火墙以及开放安全组指定端口进行处理。
- 点赞
- 收藏
- 关注作者
评论(0)