远程连接mysql 报错 1130-host . is not allowed to connect to this MySql server,MySQL
公司人少,没办法 开发 码代码 运维的事情都要自己弄, 在阿里云安装mysql的时候出现1130-host . is not allowed to connect to this MySql 错误 。。正常操作一下 1.2 点就可以远程连接了。 但是不排除有第三点,没开放3306端口..(我就是使用第三种解决的,小白 怪我咯)
1. 改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入MySQL后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2. 授权法。
例如,你想root使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON dk.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
3.转发机的iptables脚本,没有开放3306端口。。(我就是使用这种方法解决的,运维真有毒。。)
vim /etc/iptables.sh
加上
iptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT --to 你的ip:3306
(你的ip 替换成你阿里云的内网ip)
改完 执行 /etc/iptables.sh
刚刚接触运维这块 还得多学习(前提是敲完代码)