MySql資料庫伺服器 主從配置

來源:互聯網
上載者:User

標籤:

A B 為兩台 MySQL 伺服器,均開啟二進位日誌,資料庫版本 MySQL 5.5一、伺服器參數 [A 伺服器 192.168.1.100]server-id = 1binlog-do-db = testbinlog-ignore-db = mysqlreplicate-do-db = testreplicate-ignore-db = mysql sync-binlog = 1 [B 伺服器 192.168.1.101]server-id = 2binlog-do-db = testbinlog-ignore-db = mysqlreplicate-do-db = testreplicate-ignore-db = mysqlsync-binlog = 1 重啟A、B的資料庫伺服器二、操作步驟 # A B 伺服器停止同步STOP SLAVE; # A B 伺服器清空MASTER日誌RESET MASTER; # A B 伺服器清空SLAVE日誌RESET SLAVE; # A 伺服器授權同步賬戶 (我們會同步一次複製資料庫檔案,所以授權為192.168.1%)GRANT REPLICATION SLAVE ON *.* TO ‘master_slave‘@‘192.168.1%‘ IDENTIFIED BY ‘123456‘;FLUSH PRIVILEGES; # A 伺服器鎖表(鎖表狀態下不能終止mysql進程,否則會失敗)FLUSH TABLES WITH READ LOCK;(當線上正在運行資料庫時,進行鎖表操作,資料不在寫入) # 如果使用SSH,需要重新開啟,複製資料庫檔案。tar -cvf /tmp/mysql-data.tar /www/mysqltar -xvf /tmp/mysql-data.tar -C / # 查看 A 伺服器主機狀態(記錄二進位開始檔案,位置)SHOW MASTER STATUS; 

    # B 伺服器鎖表(鎖表狀態下不能終止mysql進程,否則會失敗)FLUSH TABLES WITH READ LOCK; # 修改 B 伺服器配置 (修改為A伺服器的主機狀態)CHANGE MASTER TO MASTER_HOST=‘192.168.1.100‘,MASTER_USER=‘master_slave‘,MASTER_PASSWORD=‘123456‘,MASTER_LOG_FILE=‘binlog.000001‘,MASTER_LOG_POS=106;MASTER_LOG_FILE 對應A 伺服器show master status中的File;MASTER_LOG_POS對應A 伺服器show master status中的Position 箭頭所指的兩個參數如果都為yes,就代表同步成功。# 開啟 B 伺服器同步進程START SLAVE; # 查看 B 伺服器同步狀態是否正常SHOW SLAVE STATUS;-------------------------------------------主從配置完畢,下面是互為主從------------------------------------------下面的屬於主主配置,一般很少會用到,可能會遇到衝突。 # 查看 B 伺服器主機(記錄二進位開始檔案,位置)SHOW MASTER STATUS; # 修改 A 伺服器配置  (修改為B伺服器的主機狀態)CHANGE MASTER TO MASTER_HOST=‘192.168.1.101‘,MASTER_USER=‘master_slave‘,MASTER_PASSWORD=‘[email protected]#‘,MASTER_LOG_FILE=‘binlog.000001‘,MASTER_LOG_POS=106; # 開啟 A 伺服器同步進程START SLAVE; # 分別查看 A B 伺服器同步狀態,確定是否成功SHOW SLAVE STATUS;SHOW MASTER STATUS; # 解鎖 A B 伺服器UNLOCK TABLES; # 資料測試分別在 A B 伺服器上建立表插入資料測試DROP TABLE IF EXISTS `test`;CREATE TABLE `test` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `value` varchar(100) DEFAULT ‘0‘,  PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;INSERT INTO `test` VALUES (‘1‘, ‘Hello‘); 注意:1. 資料庫目錄下的master.info的內容會覆蓋命令列或my.cnf中指定的部分選項,更改配置需刪除master.info2. my.cnf中的master配置在MySQL 6.0以後會取消,官方建議使用動態CHANGE MASTER3. 如果只指定ignore-db而不指定do-db。則新建立資料庫的操作也會同步。4. 一定要stop 主要資料庫伺服器的防火牆,不然從伺服器不能遠端存取主伺服器。 互為同步配置執行個體:1. A B 互為主從同步test, 不同步mysql:兩個資料庫配置中均設定:binlog-do-db=test, binlog-ignore-db=mysql,replicate-do-db=test,replicate-ignore-db=mysql 2. A B 互為主從只同步test,不同步其他資料庫,新建立的也不會同步兩個資料庫配置中均設定:binlog-do-db=test,replicate-do-db=test 3. A B 互為主從不同步mysql, 同步其他資料庫,譬如建立的新資料庫也會同步兩個資料庫配置中均設定:binlog-ignore-db=mysql,replicate-ignore-db=mysql 4. A B 互為主從同步所有資料庫,包括建立的資料庫兩個資料庫配置中均不設定上述四項 分享到:

MySql資料庫伺服器 主從配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.