這篇文章給大家介紹MySQL的三個故障的解決方法是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計與策劃設(shè)計,彌勒網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:彌勒等地區(qū)。彌勒做網(wǎng)站價格咨詢:18982081108
mysql使用過程中經(jīng)常會遇到的三個故障,在此小結(jié)一下。
1、MySQl服務(wù)無法啟動
我們在使用mysql的過程中,常會遇到MySQl服務(wù)無法啟動,具體報錯信息:Starting MySQL ERROR.The server quit without updating PID file (/[FAILED]l/mysql/)
對這樣的錯誤,網(wǎng)上的分析解釋有很多,有人分析把skip-federated這個參數(shù)屏蔽就可以了,也有人認(rèn)為刪除mysql-bin.index這個文件就可以啟動服務(wù)?;蛘邫z查MYSQL日志,如果提示有參數(shù)配置錯誤,也很容易導(dǎo)致這個錯誤。
當(dāng)然導(dǎo)致此錯誤的原因有很多,解決辦法也有很多,比較快速有效的解決辦法就是做好數(shù)據(jù)庫備份,然后只需如下兩步,就可快速使數(shù)據(jù)庫恢復(fù)正常。
進(jìn)入MYSQL安裝位置下的scripts目錄,執(zhí)行
./mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/var/mysql/data --user=mysql (初始化MYSQL數(shù)據(jù)庫)
然后再執(zhí)行 ./mysqld_safe --user=mysql --datadir=/var/mysql/data & (安全啟動模式)
這時候就可正常啟動MYSQL了。
(注:參數(shù)可根據(jù)mysql實(shí)際的安裝目錄和數(shù)據(jù)目錄進(jìn)行調(diào)整)
2、配置MYSQL同步時的Slave_IO_Running狀態(tài)異常
在配置MYSQL同步時,叢機(jī)顯示:
Slave_IO_Running: Connecting
Slave_SQL_Running: Yes
確保兩臺MYSQL主機(jī)網(wǎng)絡(luò)是互通的。當(dāng)出現(xiàn)這種錯誤時,沒有顯示正常狀態(tài)的YES,這個問題主要是因?yàn)槭跈?quán)出現(xiàn)錯誤或不匹配。
mysql>grant replication slave on *.* to test@192.168.199.119 identified by 'test@123456';
比如授權(quán)的用戶不匹配或授權(quán)的從機(jī)IP不對,都會出現(xiàn)Connecting這個顯示。
通過show slave status\G 命令,仔細(xì)觀察這兩個顯示狀態(tài),都為YES才正常。
3、配置MYSQL同步時的Slave_SQL_Running狀態(tài)異常
在配置MYSQL同步時,叢機(jī)顯示:
Slave_IO_Running: YES
Slave_SQL_Running: No
這個問題一般有兩個原因:
A.程序可能在slave上進(jìn)行了寫操作
B.也可能是slave機(jī)器重起后,事務(wù)回滾造成的.
解決辦法一:
mysql> slave stop;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1; (在start slave時,從當(dāng)前位置起,跳過一個event。)
mysql> slave start;
解決辦法二、
首先停掉Slave服務(wù):slave stop
到主服務(wù)器上查看主機(jī)狀態(tài):
記錄File和Position對應(yīng)的值
進(jìn)入master
mysql> show master status;
+----------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+----------------------+----------+--------------+------------------+
| localhost-bin.000009 | 33622483 | weichat | mysql,test |
+----------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
然后到slave服務(wù)器上執(zhí)行手動同步:
mysql> change master to
> master_host='master_ip',
> master_user='user',
> master_password='pwd',
> master_port=3306,
> master_log_file=localhost-bin.000009',
> master_log_pos=326 ;
1 row in set (0.00 sec)
mysql> slave start;
1 row in set (0.00 sec)
mysql> show slave status\G
*************************** 1. row ***************************
........
Master_Log_File: localhost-bin.000009
Read_Master_Log_Pos: 326
Relay_Log_File: localhost-relay-bin.000027
Relay_Log_Pos: 1014014
Relay_Master_Log_File: localhost-bin.000009
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: weichat
手動同步需要先停止master的寫操作!
注:
Slave_IO_Running:連接到主庫,并讀取主庫的日志到本地,生成本地日志文件
Slave_SQL_Running:讀取本地日志文件,并執(zhí)行日志里的SQL命令。
解決MYSQL問題的思路:
1:首先檢查錯誤日志,找到最近的錯誤.查看問題出現(xiàn)在哪.
2:修改my.cnf中的參數(shù)配置,但是請注意,修改的時候一定要記清楚那些地方修改了,方便之后做出更加正確合理的修改.
在配置參數(shù)的時候一定要高度重視innodb引擎參數(shù)的配置,它是極易導(dǎo)致錯誤的關(guān)鍵所在.
3、關(guān)鍵目錄的權(quán)限要注意
4:正常啟動服務(wù).
不能正常啟動MYSQL的原因有很多種,當(dāng)然具體問題要具體分析,不過分析錯誤日志會幫助我們定位問題的原因,從而快速解決問題.
關(guān)于mysql的三個故障的解決方法是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
新聞標(biāo)題:mysql的三個故障的解決方法是什么
分享URL:http://aaarwkj.com/article40/isjeeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、關(guān)鍵詞優(yōu)化、自適應(yīng)網(wǎng)站、全網(wǎng)營銷推廣、網(wǎng)站排名、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)