远程连接mysql数据库注意事项记录(远程连接慢skip-name-resolve)
一、如何新建独立帐号并设置权限
这里我使用Navicat作为我的数据库管理工具,打开Navicat。
选择“用户”--“新建用户”
输入用户名、主机、密码,需要注意的是,主机那不是写“localhost”,而是写“%”
然后可以设置“服务器权限”
和指定数据库的权限,最后保存退出即可
二、远程连接慢
慢是一个很大的问题,网上的办法是在my.ini的“[mysqld]”下面加入一行“skip-name-resolve”,就像这样:
然后保存并重启mysql服务即可。
下面是其它网友的补充:
问题现象是这样的:
我在一台机器上(61.183.23.23)启动了一个mysql,然后开通一个账号可以从127.0.0.1或者从61.183.23.23访问。但是遇到一个问题就是使用下面两个命令行访问的时候,速度差别非常大:
mysql –h 127.0.0.1 –u user
mysql –h 61.183.23.23 –u user
然后我使用ping,判断两个IP的速度差不多。
使用127.0.0.1的IP速度比另一个快太多了。虽然说这里的61.183.23.23需要去外网走一圈,但是速度差别怎么会差这么多。
解决办法:
mysql使用skip-name-resolve禁止掉DNS的查询。
mysql会在用户登录过程中对客户端IP进行DNS反查,不管你是使用IP登录还是域名登录,这个反查的过程都是在的。所以如果你的mysql所在的服务器的DNS有问题或者质量不好,那么就有可能造成我遇到的这个问题,DNS解析出现问题。
修改mysql配置文件
[mysqld]
skip-name-resolve
补充:
做个提醒,增加skip-name-resolve有可能导致账号失效,比如我原先的账号是yejianfeng@localhost,然后其实我使用mysql -h127.0.0.1 -uyejianfeng 是可以登录的。但是一旦加上了skip-name-resolve,就不能登录的了。需要加上账号yejianfeng@127.0.0.1
数据库加这个参数速度会变快skip-name-resolve,但是也有注意点,mysql.user 表里面的 host 不要用 localhost 之类的,要用127.0.0.1不然连自己都连不上数据库,会报错
我现在都是先不加skip-name-resolve,现在创建一个root用户不过域是127.0.0.1,然后再把skip-name-resolve加上,就可以使用root登录了,新建用户直接用127.0.0.1,这样就OK了。
相关文章
MySQL 创建用户、授权用户、撤销用户权限、更改用户密码、删除用户(实用技巧)
这篇文章主要介绍了MySQL 创建用户、授权用户、撤销用户权限、更改用户密码、删除用户(实用技巧),需要的朋友可以参考下2017-03-03
最新评论