首頁 資料庫 mysql教程 MySQL之-主從server-id不生效的範例程式碼(圖)

MySQL之-主從server-id不生效的範例程式碼(圖)

Mar 11, 2017 pm 02:04 PM

資料庫已建置完成,各種設定都已完成,但是在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


#17. 206.138的my.cnf

[root@liuyazhuang ~]# 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

[root@liuyazhuang ~]$ 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)
登入後複製

嘗試過多次重啟主從還是報錯;

接著手動chang to後來還是一樣報錯誤

mysql> START slave;
登入後複製
在從庫伺服器執行START slave;指令啟動slave

mysql> mysql> SHOW VARIABLES LIKE 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 0     |
+---------------+-------+
1 row in set (0.00 sec)
登入後複製

報錯:

ERROR 1200 (HY000): The server is not configured as slave; fix in config file 或 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> SHOW VARIABLES LIKE 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 1     |
+---------------+-------+
1 row in set (0.00 sec)
登入後複製

命名設定的是2,怎麼會變成0

##-------主機上面查看

mysql > SET GLOBAL server_id=2;
登入後複製

跟設定的一樣。 既然參數檔不生效,就試試在資料庫指令裡面設定:在從機172.17.206.138上執行指令
[root@liuyazhuang]# 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
登入後複製
再次在從機172.17.206.138上執行slave start和show slave status,成功了。
        

#注意! ! !

由於「SET GLOBAL server_id=;」指令會在mysql服務重新啟動後遺失,所以一定要寫到設定檔裡面。

但為什麼我之前修改了my.cnf檔案不起效?
仔細排查,發現配置裡面有[mysqld]和[mysqld_safe],之前將修改過的設定內容基本上都放在了[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)
登入後複製

如圖,就是將圖中標註的內容從[mysqld_safe]下修改到[ mysqld]下


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

以上是MySQL之-主從server-id不生效的範例程式碼(圖)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP 的大數據結構處理技巧 PHP 的大數據結構處理技巧 May 08, 2024 am 10:24 AM

PHP 的大數據結構處理技巧

如何優化 PHP 中的 MySQL 查詢效能? 如何優化 PHP 中的 MySQL 查詢效能? Jun 03, 2024 pm 08:11 PM

如何優化 PHP 中的 MySQL 查詢效能?

如何在 PHP 中使用 MySQL 備份和還原? 如何在 PHP 中使用 MySQL 備份和還原? Jun 03, 2024 pm 12:19 PM

如何在 PHP 中使用 MySQL 備份和還原?

Java 枚舉類型在資料庫中的應用場景有哪些? Java 枚舉類型在資料庫中的應用場景有哪些? May 05, 2024 am 09:06 AM

Java 枚舉類型在資料庫中的應用場景有哪些?

如何使用 PHP 插入資料到 MySQL 表? 如何使用 PHP 插入資料到 MySQL 表? Jun 02, 2024 pm 02:26 PM

如何使用 PHP 插入資料到 MySQL 表?

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤 如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤 Dec 09, 2024 am 11:42 AM

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤

如何在 PHP 中使用 MySQL 預存程序? 如何在 PHP 中使用 MySQL 預存程序? Jun 02, 2024 pm 02:13 PM

如何在 PHP 中使用 MySQL 預存程序?

PHP數組分頁的效能最佳化策略 PHP數組分頁的效能最佳化策略 May 02, 2024 am 09:27 AM

PHP數組分頁的效能最佳化策略

See all articles