之前公司的Web-Server 与 MySQL-Server是在同一个服务器上,所以直接通过localhost,或者127.0.0.1就能直接访问本地数据库了,但是现在要把Web-Server 与 MySQL-Server
分别放到两台服务器上,这就需要给MySQL开启远程访问权限了。
1:先连接本地MySQL。
2:mysql> USE mysql; --切换到 mysql DB
Database changed
3:SELECT User, Password, Host FROM user; --查看现有用户,密码及允许连接的主机
一般没有开启远程权限的会只有localhost以及127.0.0.1的。
4:下面我们另外添加一个新的 root 用户, 密码mypassword, 只允许192.168.1.100连接
mysql> GRANT ALL PRIVILEGES ON *.* TO'myuser'@'192.168.1.100'IDENTIFIED BY'mypassword'WITH GRANT OPTION;
添加完成记得FLUSH PRIVILEGES;
OK添加用户表成功,之后这个主机就有远程访问这个数据库的权限了!
5:GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
也可以通过这条命令来允许所有用户拥有访问此数据库的权限,不过这样应该会很不安全,所以不推荐使用此种方法。
6:如果你不需要某个IP拥有访问权限了,你可以通过SQL语句
delete from user where host = '192.168.1.100';
FLUSH PRIVILEGES;
根据主机地址来删除某个主机用户的权限。
7:记得服务器防火墙要允许MYSQL应用,还有检查相对应的MySQL端口
是否开启。
8:查看my.ini或my.cnf配置文件中是否只开了127.0.0.1这个主机地址
bind-address = 127.0.0.1若是则删之。