解决远程连接MySql数据库出现不允许连接到MySql数据库服务器问题
一、问题描述:
-
Host 'XXX-XXX' is not allowed to connect to this MySQL server
-
UnityEngine.Debug:Log(Object)
二、分析:主机(IP)XXX-XXX没有访问远程数据库的权限
三、解决方法:
①首先远程连接进入服务器,在cms中输入mysql -u root -p,然后回车,输入密码后回车进入mysql命令行。
②输入use mysql;
③输入select user,password,host from user;
④添加方法如下:
输入
grant all privileges on *.* to [email protected]"xxx.xxx.xxx.xxx" identified by "密码";
这相当于是给IP-xxx.xxx.xxx.xxx赋予了所有的权限,包括远程访问权限
注意:【
你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
】
然后再输入
flush privileges;
这相当于是重新加载一下mysql权限,这一步必须有。
⑤运行程序在远程连接测试,此时可以实现远程连接
⑥测试发现打开某张表的时候很慢,至少要3秒。
原因是:
当远程访问mysql时, mysql会解析域名, 所以会导致访问速度很慢, 会有2,3秒延时!
解决办法:
修改mysql安装目录下的my.ini,加上下面这个配置可解决此问题。在[mysqld]下加入:skip-name-resolve
保存退出后重启mysql服务。
然后访问速度就和本地一样快啦。