欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

远程连接mysql数据库注意事项记录(远程连接慢skip-name-resolve)

程序员文章站 2024-02-13 15:38:46
一、如何新建独立帐号并设置权限   这里我使用navicat作为我的数据库管理工具,打开navicat。 选择“用户”--“新建用户” 输入用户名、主机、密码...

一、如何新建独立帐号并设置权限

  这里我使用navicat作为我的数据库管理工具,打开navicat。

远程连接mysql数据库注意事项记录(远程连接慢skip-name-resolve)

选择“用户”--“新建用户”

远程连接mysql数据库注意事项记录(远程连接慢skip-name-resolve)

输入用户名、主机、密码,需要注意的是,主机那不是写“localhost”,而是写“%”

远程连接mysql数据库注意事项记录(远程连接慢skip-name-resolve)

然后可以设置“服务器权限”

远程连接mysql数据库注意事项记录(远程连接慢skip-name-resolve)

和指定数据库的权限,最后保存退出即可

二、远程连接慢

  慢是一个很大的问题,网上的办法是在my.ini的“[mysqld]”下面加入一行“skip-name-resolve”,就像这样:

远程连接mysql数据库注意事项记录(远程连接慢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了。