mysql主從同步復(fù)制錯(cuò)誤解決一例
更新時(shí)間:2011年05月26日 01:18:16 作者:
Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids
蚊子今天下午搭了一主三從的mysql復(fù)制,結(jié)果所有服務(wù)器都配置好后,發(fā)現(xiàn)從上報(bào)如下的錯(cuò)誤
Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).
意思就是從上的server_id和主的一樣的,經(jīng)查看發(fā)現(xiàn)從上的/etc/my.cnf中的server_id=1這行我沒(méi)有注釋掉(在下面復(fù)制部分我設(shè)置了server_id),于是馬上把這行注釋掉了,然后重啟mysql,發(fā)現(xiàn)還是報(bào)同樣的錯(cuò)誤。
使用如下命令查看了一下server_id
mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 1 |
+---------------+-------+
1 row in set (0.00 sec)
發(fā)現(xiàn),mysql并沒(méi)有從my.cnf文件中更新server_id,既然這樣就只能手動(dòng)修改了
mysql> set global server_id=2; #此處的數(shù)值和my.cnf里設(shè)置的一樣就行
mysql> slave start;
如此執(zhí)行后,slave恢復(fù)了正常。
不過(guò)稍后蚊子使用/etc/init.d/mysqld restart重啟了mysql服務(wù),然后查看slave狀態(tài),發(fā)現(xiàn)又出現(xiàn)了上面的錯(cuò)誤,然后查看server_id發(fā)現(xiàn)這個(gè)數(shù)值又恢復(fù)到了1。
之后蚊子又重新查看了一下/etc/my.cnf的內(nèi)容,確認(rèn)應(yīng)該不是這個(gè)文件的問(wèn)題,于是去google查了一下,看到mysql在啟動(dòng)的時(shí)候會(huì)查找/etc/my.cnf、DATADIR/my.cnf,USER_HOME/my.cnf。
于是我執(zhí)行了
find / -name "my.cnf"
居然在/usr/local/mysql這個(gè)目錄下發(fā)現(xiàn)了my.cnf文件,于是蚊子將這個(gè)文件刪除了,然后再重啟mysql服務(wù),發(fā)現(xiàn)一切恢復(fù)了正常。如果有人也出現(xiàn)類(lèi)似的問(wèn)題,不妨試試這個(gè)辦法吧。
復(fù)制代碼 代碼如下:
Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).
意思就是從上的server_id和主的一樣的,經(jīng)查看發(fā)現(xiàn)從上的/etc/my.cnf中的server_id=1這行我沒(méi)有注釋掉(在下面復(fù)制部分我設(shè)置了server_id),于是馬上把這行注釋掉了,然后重啟mysql,發(fā)現(xiàn)還是報(bào)同樣的錯(cuò)誤。
使用如下命令查看了一下server_id
復(fù)制代碼 代碼如下:
mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 1 |
+---------------+-------+
1 row in set (0.00 sec)
發(fā)現(xiàn),mysql并沒(méi)有從my.cnf文件中更新server_id,既然這樣就只能手動(dòng)修改了
復(fù)制代碼 代碼如下:
mysql> set global server_id=2; #此處的數(shù)值和my.cnf里設(shè)置的一樣就行
mysql> slave start;
如此執(zhí)行后,slave恢復(fù)了正常。
不過(guò)稍后蚊子使用/etc/init.d/mysqld restart重啟了mysql服務(wù),然后查看slave狀態(tài),發(fā)現(xiàn)又出現(xiàn)了上面的錯(cuò)誤,然后查看server_id發(fā)現(xiàn)這個(gè)數(shù)值又恢復(fù)到了1。
之后蚊子又重新查看了一下/etc/my.cnf的內(nèi)容,確認(rèn)應(yīng)該不是這個(gè)文件的問(wèn)題,于是去google查了一下,看到mysql在啟動(dòng)的時(shí)候會(huì)查找/etc/my.cnf、DATADIR/my.cnf,USER_HOME/my.cnf。
于是我執(zhí)行了
復(fù)制代碼 代碼如下:
find / -name "my.cnf"
居然在/usr/local/mysql這個(gè)目錄下發(fā)現(xiàn)了my.cnf文件,于是蚊子將這個(gè)文件刪除了,然后再重啟mysql服務(wù),發(fā)現(xiàn)一切恢復(fù)了正常。如果有人也出現(xiàn)類(lèi)似的問(wèn)題,不妨試試這個(gè)辦法吧。
相關(guān)文章
Mysql?InnoDB?B+樹(shù)索引目錄項(xiàng)記錄頁(yè)管理
這篇文章主要為大家介紹了Mysql?InnoDB?B+樹(shù)索引目錄項(xiàng)記錄頁(yè)管理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05MySQL關(guān)閉過(guò)程詳解和安全關(guān)閉MySQL的方法
這篇文章主要介紹了MySQL關(guān)閉過(guò)程詳解和安全關(guān)閉MySQL的方法,在了解了關(guān)閉過(guò)程后,出現(xiàn)故障能迅速定位,本文還給出了安全關(guān)閉MySQL的建議及方法,需要的朋友可以參考下2014-08-08用MyEclipse配置DataBase Explorer(圖示)
本文介紹了,用MyEclipse配置DataBase Explorer的圖片示例。需要的朋友參考下2013-04-04詳解MySQL數(shù)據(jù)庫(kù)、表與完整性約束的定義(Create)
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)、表與完整性約束的定義(Create),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2025-04-04MySQL字符集的基本類(lèi)型與統(tǒng)一字符集分析
此文章主要向大家描述的是MySQL字符集的基本類(lèi)型,以及統(tǒng)一字符集的實(shí)際操作方法,下面就是文章的主要內(nèi)容描述。2011-09-09