久久青草精品A片狠狠,日韩欧美视频一区二区,亚洲国码AV日韩,国产精品黄在

Linux下mysql遠程連接慢的問題

2019-08-16 21:40:01 7877

1,當 mysql client 發起連接請求時,MySql Server 會主動去查 client 的主機名。

2,首先查找Windows系統目錄下 /etc/hosts 文件,搜索域名和IP的對應關系。

3,如果hosts文件沒有,則查找DNS設置,如果沒有設置DNS服務器,會立刻返回失敗;如果設置了DNS服務器,就進行反向解析,直到timeout。

 

解決辦法

 

第一種方法 修改Hosts

 

在 MySql Server 所在服務器上,修改 Windows 的 hosts 文件,增加一行記錄,如:

100.ZZZ.YYY.XXX dummy.ju690.cn

然后在 100.ZZZ.YYY.XXX 機器上用 Python 發起連接請求,經測試,可以正常連接,說明 MySql Server 這下可以通過 getnameinfo() 解析出100.ZZZ.YYY.XXX 的主機名了。

但這種方法很機械,所以一般采用下面這種方法。

第二種 修改MySql 的配置文件 my.ini

 

The solution:

Just add skip-name-resolve option to your MySQL configuration file (my.ini).

在 MySql Server 的配置文件 My.ini 中,增加如下兩行:

[mysqld]

skip-name-resolve

它將禁止 MySql Server 對外部連接進行 DNS 解析,使用這一選項可以消除 MySql 進行 DNS 解析的時間。

但需要注意,如果開啟該選項,則所有遠程主機連接授權都要使用IP地址方式,否則MySQL將無法正常處理連接請求。

 

可能的后果

 

如果開啟 skip-name-resolve 選項,要確認 MySql 是否采用過主機名的授權,

在 mysql 中運行如下命令:

mysql> select user,host from mysql.user where host <> 'localhost' ;

一般會得到以“%”授權(也就是任何地址)的記錄:

+------------------+-------------+

| user             | host        |

+------------------+-------------+

| root             | %           |

| user_sync | 192.168.0.113 |

如果有host名是什么“DB1”“DB2”的,那么刪除授權表中有 hostanme 的記錄,然后重啟mysqld。


提交成功!非常感謝您的反饋,我們會繼續努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: