1. 程式人生 > >MySQL之——主從server-id不生效,The server is not configured as slave

MySQL之——主從server-id不生效,The server is not configured as slave

資料庫已搭建完成,各種配置均已完成,但是在start slave ;的時候,報錯:

ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO

這裡說,我沒有配置為從機,但我明明配置過的啊。

MySQL版本:5.6.19

主:master IP  :  172.17.210.199
從:slave    IP :172.17.206.138
先看看從機172.17.206.138的my.cnf

[[email protected] ~]# vi /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
skip-grant-tables
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
tmpdir=/tmp
[mysqld_safe]
log-error=/usr/local/data/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
###############以下是新增主從的配置
server_id = 2
log-bin = /usr/local/mysql/log/solve-bin.log
master-host = 172.17.210.199
master-user = test
master-pass = 123456
master-port = 3306
master-connect-retry = 60
這是MySQL主機172.17.210.199的my.cnf
[[email protected] ~]$ cat /etc/my.cnf
[mysqld]
log-bin = /u01/mysql/log/masters-bin.log
read-only = 0
basedir = /u01/mysql
datadir = /u01/mysql/data
port = 3306
server_id = 1
socket = /tmp/mysql.sock
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
嘗試過多次 重啟主從還是報錯;
接著手動chang to 後還是一樣報錯
mysql> CHANGE MASTER TO
MASTER_HOST='172.17.210.199',
MASTER_USER='test',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='masters-bin.000003',
MASTER_LOG_POS=120;
Query OK, 0 rows affected, 2 warnings (0.04 sec) 
在從庫伺服器執行START slave;命令啟動slave
mysql> START slave;
報錯:
ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO

於是檢視日誌
1.檢視SLAVE172.17.206.138上的Mysql報錯日誌,有這麼一句:
141009  6:06:29 [ERROR] Server id not set, will not start slave

意思是,slave的server-id沒有設定。
那就奇怪了,我明明在配置檔案裡面指定了server-id的了,並且有重啟mysql服務,難道不起效?
分別在主從上執行命令“show variables like 'server_id';”。

-------從機上面檢視
mysql> mysql> SHOW VARIABLES LIKE 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 0     |
+---------------+-------+
1 row in set (0.00 sec)
命名設定的是2,怎麼會變成0

-------主機上面檢視

mysql> SHOW VARIABLES LIKE 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 1     |
+---------------+-------+
1 row in set (0.00 sec)
跟設定的一樣。
既然引數檔案不生效,就試試在資料庫命令裡面設定:在從機 172.17.206.138上執行命令
mysql > SET GLOBAL server_id=2;
再次在從機 172.17.206.138上執行slave start和show slave status,成功了。
         注意!!!由於“SET GLOBAL server_id=;”命令會在mysql服務重啟後丟失,所以一定要寫到配置檔案裡面。
但為什麼我之前修改了my.cnf檔案不起效?
仔細排查,發現配置裡面有[mysqld]和[mysqld_safe],之前將修改的配置內容基本都放在了[mysqld_safe]下面,新增的配置檔案放的位置不一樣也有關係?於是我嘗試把配置檔案裡修改的部分放在[mysqld]下面,於是改成這樣:
[[email protected]]# cat  /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
skip-grant-tables
user=mysql
symbolic-links=0
tmpdir=/tmp
server_id = 2
log-bin = /usr/local/mysql/log/solve-bin.log
master-host = 172.17.210.199
master-user = test
master-pass = 123456
master-port = 3306
master-connect-retry = 60

[mysqld_safe]
log-error=/usr/local/data/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid 
如圖,就是將圖中標註的內容從[mysqld_safe]下修改到[mysqld]下


修改之後,再次同步,成功了!

mysql>
mysql> STOP slave;
Query OK, 0 rows affected (0.05 sec)

mysql> START slave;
Query OK, 0 rows affected (0.00 sec) 

相關推薦

MySQL——主從server-id生效The server is not configured as slave

資料庫已搭建完成,各種配置均已完成,但是在start slave ;的時候,報錯: ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE M

微信小程序初探(常見語法 VS vue)常見問題(點擊生效數據綁定)

數據驅動 一點 驅動 win -1 沒有 html cat been 最近在調研微信小程序開發,對於一個前端小白來說,在各種框架都還用不熟的情況下,再來開發小程序確實還是不容易。 小程序出來之初,聽過演講,看過一點點兒視頻,感覺和angular語法有點相似(PS:那是也是只

MySQL主從切換

mysql 主從切換 在一主多從的環境中,如主庫為M,從庫為S1、S2,當主庫出現故障時,主從切換的詳細步驟如下:1 首先要保證所有從庫已經執行了relay log中的全部更新,用以下語句查看:mysql> show processlist\G直到看到下面的語句,表示全部更新執行完畢。Has re

Mysql主從復制

mysql參考文檔:http://www.178linux.com/60625節點一修改配置文件設置唯一ID開起二進制日誌[[email protected]/* */ ~]# vim /etc/my.cnf 增加以下內容 [mysqld] log-bin=master_bin

jquery綁定的事件對ajax刷新出的數據生效on可能受jquery版本影響

js 數組 name 事件 案例 文字 script input java emp 問題:jquery綁定的事件對ajax刷新出的數據不生效 方法:可以用 jquery 裏面的 on 和 delegate 預綁定父元素就可以觸發的。 註意:某些限制下,個人用的是jquer

Mysql grant all privileges on ...生效解決方案

.com nts 本地 all 圖片 info 技術分享 原因 虛擬機 情景:我在mac的終端下用ssh操作虛擬機中的centos,mysql運行在centos中 mysql -u root -p 用root登錄mysql後 使用 grant all privileg

MySQL 表和庫刪並且表也打能導出的情況

不能 lin AS 並且 lib 遇到 root權限 opp tab linux上的mysql中,最近遇到表和庫刪不掉,並且表也打不開,不能導出的情況。 在刪除數據庫時,出現以下錯誤: ERROR 1010 (HY000): Error dropping database(

Mysql 主從復制

ges start row RoCE star 系統 網絡 format binlog日誌 一、數據庫主從復制基本要求: 1、操作系統版本一致(建議)。 2、數據庫版本一致(建議)。 3、配置文件參數一致(是指一些性能參數)。 二、網絡拓撲 三、主數據庫配置文件 [mys

MySQL主從複製

MySQL主從複製原理介紹 MySQL的主從複製是一個非同步的複製過程(雖然一般情況下感覺是實時的),資料將從一個Mysql資料庫(我們稱之為Master)複製到另一個Mysql資料庫(我們稱之為Slave),在Master與Slave之間實現整個主從複製的過程是由三個執行緒參與完成的。其中有兩個執行緒(S

window.parent.close();生效退出按鍵無效

今天遇到一個bug,之前的一個專案發現存在一個bug,退出按鈕無效。 對應的js如下: <script >     function closeWin(){         &nb

(辦公)mysql連線上(java.sql.SQLException: null, message from server: "Host 'LAPTOP-O0GA2P8J' is not allowed to connect to this MySQL server&qu

轉載自csdn文章:https://blog.csdn.net/Tangerine_bisto/article/details/803461511.對所有主機進行訪問授權 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY'mypass

sql server啟動 MSSQL 18052錯誤: 9003嚴重度: 20狀態: 1

問題現象: 系統日誌檔案(控制面板–管理工具–系統日誌) 能找到以下兩條錯誤: 17052: 無法恢復 master 資料庫。正在退出。 18052: 錯誤: 9003,嚴重度: 20,狀態: 1。 解決方法: 將Microsoft SQL Server/MSSQL/Data 目錄改名

配置檔案引入struts-2.5.dtd生效無提示

1、找到引入的Struts-2.5.dtd(也可能是其他Struts的dtd) 2、把struts-2.5.dtd複製到本地(如果不能複製那就需要到網上去下載) 3、步驟: ①:點Window–>Preferences ②:在Preference中輸入x

Mysql連線查詢(交叉連線內連線外連線using關鍵字使用場景)

連線查詢 連線查詢:將多張表連到一起進行查詢(會導致記錄數行和欄位數列發生改變) 連線查詢的意義 在關係型資料庫設計過程中,實體(表)與實體之間是存在很多聯絡的。在關係型資料庫表的設計過程中,遵循著關係來設計:一對一,一對多和多對多,通常在實際操作的過程中,需要利用這層

Spring Boot 使用JSP時修改JSP生效需要重啟的現象

問題描述 公司專案用的Spring Boot,自己也就對他多研究一些,之前自己練習的Spring Boot專案,都是使用的JSP,在修改後直接重新整理頁面就可以看到效果,今天升級Spring Boot版本後,發現修改JSP後直接重新整理頁面沒有用了。。。重啟才能生效。。。

SpringBootlogback-spring.xml生效

一、前言 做新應用就是這樣,會遇到各種問題,昨天剛解決了載入某一個類時候丟擲了class is not visible from class loader的問題,今天就有遇到了日誌檔案找不到的問題,還是和二方庫有關的,下面就一一道來。 二、問題產生 正常情況下在 src/main/resou

Spring AOP @Aspect織入生效執行前置增強織入@Before

想寫一個AOP,主要有2個用意,, 第一個用意是做後端的防表單重複提交的token驗證。 第二個用意是對後臺JSR303 Validator的校驗結果做一個統一處理,不想把對校驗結果的處理分散在每個controller方法中   @ResponseBody @Request

mybatis if 標籤 判斷單個字元的生效其實這是個坑

需求: <if test="carrier != null and carrier !='' and carrier !='0'"> AND CARRIER = #{carrier} </if>要在carrier欄位不為null,'',和"0

sql server啟動 MSSQL 18052錯誤: 9003嚴重度: 20狀態: 1 . 。sql server 2000 附加資料庫沒日誌,及安裝異常問題。無法通過IP來聯結

sql server啟動不了, MSSQL 18052錯誤: 9003,嚴重度: 20,狀態: 1 .   問題現象: 系統日誌檔案(控制面板–管理工具–系統日誌) 能找到以下兩條錯誤: 17052: 無法恢復 master 資料庫。正在退出。 18052: 錯誤: 9003

iview的tree元件設定expand生效以及全部展開和全部合併的實現

前端框架用到了iview,使用tree元件的時候,資料是動態繫結的,頁面控制元件呼叫如下: <Tree :data="taskTreeData"></Tree> methods中初始化資料的方法如下: initTree() { let _this