1. 程式人生 > >mysql資料庫訪問速度慢的解決方法

mysql資料庫訪問速度慢的解決方法

轉載1:今天公司的網路做了調整,造成原本連線很快的mysql伺服器,連線速度奇慢。以前幾十毫秒的連線現在完成一次要近5秒鐘,在排除了網路問題後,只有從mysql下手。原來每次訪問db,mysql就會試圖去解析來訪問的機器的domain name,如果這時解析不料,等一段時間會失敗,資料才能被取過來。解決方法如下:
修改 my.cnf
[mysqld]
skip-name-resolve #Don’t resolve hostnames 
重啟,問題解決。

轉載2:最近,web後臺管理伺服器速度挺慢,一開始以為是apache瓶頸的問題,因為發現大量的搜尋引擎老是爬過來,於是在防火牆上過濾掉了google、baidu等搜尋引擎,沒有什麼好轉的跡象。於是不用apache連線資料庫,只測試整數、浮點運算,發現速度很快。因此,開始懷疑是資料庫伺服器上mysql的問題,但從本地測試mysql,檢視連線數又一切正常。接著以為是兩臺伺服器間網路連線的問題,先是修改兩臺機器上防火牆的設定,無效。開始從網上搜索,發現有人提到“ DNS的反向解諧。在my.cnf中設定:skip-name-resolve就OK了。發現這種連線慢的問題一般都是服務程式設定了DNS反向解析造成的。sshd,ftpd都是如此。教訓。 ” 
於是想起來10.11為了設定view,將主dns由windows更換為linux,沒有設定後臺伺服器的反向解析,於是趕緊設上,至此,問題解決。好多問題都是環環相扣的阿。
注:修改後不能使用localhost進行連線。如果要本地連線的話使用127.0.0.1
如:mysql -h 127.0.0.1 -uroot -p
jsp連線的話:http://127.0.0.1:3306/......省
同時修改資料庫使用者表對應的host為127.0.0.1 


Redhat 的server ssh到Ubuntu Server的時候速度很慢,要等大約5秒才提示輸入密碼
解決辦法
修改
I used a rather quick, easy solution - add "UseDNS no" to the end of /etc/ssh/sshd_config. This blocks reverse DNS lookups entirely.

轉載3:團隊開發為了方便需要統一mysql,區域網內用專門的電腦作為mysql伺服器。

mysql預設是不允許遠端連線的,因為有很大的安全隱患。。所以我們需要手動開啟。

ubuntu下mysql -u root -p 輸入密碼進入mysql控制檯

建立遠端登陸使用者並授權

<!--more-->

grant all PRIVILEGES on dbname.table to [email protected] identified by ‘password′;

最簡單的  GRANT ALL PRIVILEGES ON *.* TO [email protected]

"%"IDENTIFIED BY 'password' WITH                                     GRANT OPTION;

逐一分析所有的引數:

all PRIVILEGES 表示賦予所有的許可權給指定使用者,這裡也可以替換為賦予某一具體的許可權,例如:select,insert,update,delete,create,drop 等,具體許可權間用“,”半形逗號分隔。

dbname.* 表示上面的許可權是針對於哪個表的,dbname指的是資料庫,後面的 * 表示對於所有的表,由此可以推理出:對於全部資料庫的全部表授權為“*.*”,對於某一資料庫的全部表授權為“資料庫名.*”,對於某一資料庫的某一表授權為“資料庫名.表名”。

user表示你要給哪個使用者授權,這個使用者可以是存在的使用者,也可以是不存在的使用者。

ipaddress表示允許遠端連線的 IP 地址,如果想不限制連結的 IP 則設定為“%”即可。

 password為使用者的密碼。

執行完畢記得重啟apache

sudo /etc/init.d/apache2 restart

遠端訪問的問題解決了,但是發現在區域網使用速度都會很慢,這個按理說不應該。

最終google到了解決辦法

MySQL在處理新的執行緒連線請求時,會嘗試進行DNS解析,如果在host cache和Hosts裡找不到,處理起來就會很慢,因此最直接簡便的方法就是禁用該反向解析功能,可以通過修改MySQL的配置檔案實現,Linux下是my.cnf檔案,windows下是my.ini檔案,在配置檔案[mysqld]下新增如下一行程式碼:

skip-name-resolve

然後重啟MySQL服務,再次連線發現已是秒連了。這個方案的不足之處就是,以後在使用grant對使用者進行授權時只能使用IP格式,而不能使用主機名稱了。

通過修改系統hosts檔案也可以實現,舉例來說,我想解決192.168.1.100遠端連線MySQL伺服器緩慢的問題,只需要在MySQL庫所在伺服器的hosts檔案中新增一條記錄如下:

192.168.1.100 test.com

儲存退出,再次遠端連線該MySQL庫,同樣很快。之所以說絕,是因為這樣設定,你新增記錄的192.168.1.100遠端連線速度變快了,其他主機連線速度跟之前一樣慢。該方法同樣可以解決ssh遠端連線某主機響應很慢的問題,原理一樣。

相關推薦

mysql資料庫訪問速度解決方法

轉載1:今天公司的網路做了調整,造成原本連線很快的mysql伺服器,連線速度奇慢。以前幾十毫秒的連線現在完成一次要近5秒鐘,在排除了網路問題後,只有從mysql下手。原來每次訪問db,mysql就會試圖去解析來訪問的機器的domain name,如果這時解析不料,等一段時

訪問 stackoverflow速度解決方法【這個是真有前用】

每次訪問stackoverflow.com,都滿的要死 chrome F12檢視罪魁禍首是 gfw(裡面有個network檢視)

mysql導入太解決方法

cts related tween cal mit orm CI sch multi 半調子數據科學家又要折騰數據,拿到數據一看,3.6G的zip文件,解壓看看,臥槽12個G的sql文件。好吧,又要折騰sql數據了。第一件事,肯定是搭一個數據庫,導入數據咯。 折騰過sql導

centos中mysql資料庫中文亂碼的解決方法

預設my.cnf配置檔案中在/etc/mycnf,開啟之後在裡面加入以下命令即可: [client] default-character-set=utf8 [mysqld] character-set-server=utf8 collation-server=u

新安裝ubuntu安裝軟體時,下載速度解決方法

轉自:https://blog.csdn.net/jfhkd2012/article/details/50912757 一種情況就是你的網路本身速度就比較慢導致的;另一種情況,就是你的系統選擇的源,由於你選擇的源可能在國外或者即使在國內也因為各種情況導致與你的連線速度會比較慢。 1、開啟 系

CentOS6.7下MySQL資料庫忘記root密碼解決方法

一、更改my.cnf配置檔案 編輯/etc/my.cnf檔案,在[mysqld]下新增skip-grant-tables,儲存退出。如圖: 重啟mysql服務:services mysqld restart 二、更改root密碼 重啟mysqld服務後,執行mysql命令,

Windows中mysql資料庫中文亂碼永久解決方法

在mysql安裝目錄下新增一個my.ini檔案。內容如下:  [client]     port=3306     default-character-set=utf8     [mysqld]     port=3306     character_set_server

Mac下,MySQL資料庫中文亂碼的解決方法

在Mac下安裝MySQL資料庫,作為本地資料庫使用。但向資料庫中匯入資料時一直中文亂碼,試了很多方法都沒有解決。終於在熬夜奮戰了近3個小時後,把問題解決了(雖然還是不明白原因細節)。先上圖: 解決方案:匯入時,選擇GBK格式。(總的來講,有點瞎貓碰上死耗子

關於mysql資料庫匯入資料解決方法

mysqldump匯入慢的解決方法 mysql匯出的SQL語句在匯入時有可能會非常非常慢,經歷過匯入僅45萬條記錄,竟用了近3個小時。在匯出時合理使用幾個引數,可以大大加快導 入的速度。 -e 使用包括幾個VALUES列表的多行INSERT語法; –max_al

MySQL遠端訪問訪問速度等問題解決

1.訪問速度慢 【現象】 訪問資料庫速度慢,完成一次連線或資料訪問需要將近5s左右。 【原因】 每次訪問資料庫,mysql就會試圖去解析來訪問的機器的domain name,如果這時解析不料,等一段時間會失敗,資料才能被取過來。 【解決

SQL Server資料庫查詢速度的原因和解決方法

SQL Server資料庫查詢速度慢的原因有很多,常見的有以下幾種:   1、沒有索引或者沒有用到索引(這是查詢慢最常見的問題,是程式設計的缺陷)   2、I/O吞吐量小,形成了瓶頸效應。   3、沒有建立計算列導致查詢不優化。   4、記憶體不足   5、網路速度慢   

mysql導入解決方法

dump 導入 ket auto write mysql導入 cti uniq roo [mysqldump]max_allowed_packet = 512M [mysqld] interactive_timeout = 120 innodb_change_b

完美解決github訪問速度

lin linux windows ip add address ast quick block 訪問速度 1. 解決方法 2.解決方法 1. 修改本地hosts文件 windows系統的hosts文件的位置如下:C:\Windows\System32\drivers\e

SQLServer 資料庫變成單個使用者後無法訪問問題的解決方法

USE master; GO DECLARE @SQL VARCHAR(MAX); SET @SQL='' SELECT @[email protected]+'; KILL '+RTRIM(SPID) FROM master..sysprocesses WHERE dbid=DB_ID('資料庫名

JavaWeb問題集錦: 解決Mysql資料庫訪問出現“Too many connections”問題

工作中程式碼中訪問資料庫連線的時候,程式碼執行中出現了"Too many connections" 的錯誤: MySQL "Too many connections" com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionE

解決IntelliJ IDEA 建立Maven專案速度方法

解決IntelliJ IDEA 建立Maven專案速度慢有兩種方法: 指定虛擬機器引數:DarchetypeCatalog 建立專案的時候新增引數:archetypeCatalog archetypeCatalog 和 DarchetypeCatalog 有三個屬

完美解決github訪問速度[轉]

1. 修改本地hosts檔案 windows系統的hosts檔案的位置如下:C:\Windows\System32\drivers\etc\hosts mac/linux系統的hosts檔案的位置如下:/etc/hosts 2. 增加github.global.ssl.f

nginx配置了負載均衡後訪問變的很解決方法

今天有空,就想學下nginx+tomcat配置負載均衡,配置的過程我就不詳細描述了,但是配置完後發現訪問及其的緩慢,還不如自己使用tomcat訪問。 解決方法:    我只改了nginx.conf中的兩個配置項的值,內容如下: 原來的配置: location ~ (\.j

網站出現資料庫連線失敗,mysql 2003錯誤(10061) 的解決方法

這幾天有一臺MySQL資料庫伺服器出現了頻繁的掉線情況,通過排查,並沒有排查出哪個網站被攻擊,百思不得其解中的時候,群裡有個朋友說是因為微軟KB967723造成的,網上搜索了一下,果然很多人都是這樣的問題,都是windows系統下安裝的MySQL造成的 網上一共提供了兩種方法: 第一種:解除安裝KB967

優化伺服器網路訪問速度解決CURL的問題-關閉IPV6支援。

現象:CURL請求URL地址,速度都在5秒以上。 說明:在使用curl獲取某介面時會curl: (6) Couldn’t resolve host ‘www.coolnull.com’。奇葩的是pi