成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL 5.6.10跨平臺(tái)GTID復(fù)制實(shí)踐

運(yùn)維 數(shù)據(jù)庫(kù)運(yùn)維 MySQL
根據(jù)業(yè)務(wù)需要,建立MySQL復(fù)制來(lái)實(shí)現(xiàn)數(shù)據(jù)冗余。MySQL 5.6.10版本提供了更方便的基于GTID的復(fù)制功能,MySQL可以通過(guò)GTID自動(dòng)識(shí)別上次同步的點(diǎn),極大地方便了運(yùn)維人員,減少出錯(cuò)的幾率。

在官方文檔中提到,最保險(xiǎn)可靠的復(fù)制方式,是基于row的復(fù)制,所以寧可犧牲一些性能也要保證數(shù)據(jù)的安全。

現(xiàn)實(shí)環(huán)境中,master主數(shù)據(jù)庫(kù)MySQL 5.6.10(msi安裝方式)安裝在Windows 2008 Server x64上,slave從服務(wù)器是一臺(tái)老舊的DELL服務(wù)器,運(yùn)行CentOS 6.4 x64系統(tǒng),源碼編譯安裝MySQL 5.6.10的Linux版本,安裝過(guò)程可以參考我以前的博文:http://www.cnblogs.com/jlzhou/archive/2013/03/09/2951544.html

不同平臺(tái)下,MySQL是有一些差異的,要小心處理。

第一個(gè)問(wèn)題是,Windows平臺(tái)下,文件名大小寫不敏感,造成對(duì)應(yīng)的MySQL的數(shù)據(jù)表名稱默認(rèn)都采用小寫字母方式,同時(shí)大小不寫敏感,參考我以前的博文:http://www.cnblogs.com/jlzhou/archive/2013/03/18/2966106.html 為了能將數(shù)據(jù)同步復(fù)制到Linux平臺(tái)的MySQL,我們需要設(shè)置Linux平臺(tái)下MySQL的數(shù)據(jù)表名稱設(shè)置:(修改my.cnf文件)

  1. [mysqld]  
  2. lower_case_table_names=1 

第二個(gè)問(wèn)題是,自增字段0值的問(wèn)題。因?yàn)楝F(xiàn)有數(shù)據(jù)庫(kù)是MSSQL,業(yè)務(wù)邏輯需要某些表的自增字段從0開始。參考我以前的博文:http://www.cnblogs.com/jlzhou/archive/2013/03/18/2965384.html 為了在Windows平臺(tái)和Linux平臺(tái)的MySQL之間復(fù)制數(shù)據(jù),增加全局變量設(shè)置,在my.ini和my.cnf中分別添加NO_AUTO_VALUE_ON_ZERO設(shè)置到sql-mode行:

  1. //my.ini 該文件默認(rèn)在Windows7或Windows2008操作系統(tǒng)中位于 C:\ProgramData\MySQL\MySQL Server 5.6 目錄下(采用MSI安裝方式),如果你自定義了數(shù)據(jù)目錄,則該配置文件在數(shù)據(jù)目錄下。  
  2. Set the SQL mode to strict  
  3. sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO"  

現(xiàn)在開始配置GTID復(fù)制,先配置master端的my.ini文件,加入下述配置,然后重啟master的MySQL服務(wù):

  1. binlog-format=ROW  
  2. log-bin=master-bin.log  
  3. log-bin-index=master-bin.index 
  4. log-slave-updates=true 
  5. gtid-mode=on 
  6. enforce-gtid-consistency=true 
  7. master-info-repository=TABLE 
  8. relay-log-info-repository=TABLE 
  9. sync-master-info=1  
  10. slave-parallel-workers=2  
  11. binlog-checksum=CRC32  
  12. master-verify-checksum=1  
  13. slave-sql-verify-checksum=1  
  14. binlog-rows-query-log-events=1  
  15. server-id=1  
  16. sync_binlog=1 

再修改slave端的my.cnf文件,加入下述配置,然后重啟slave的MySQL服務(wù):

  1. binlog-format=ROW  
  2. log-bin=slave-bin.log  
  3. log-bin-index=slave-bin.index 
  4. log-slave-updates=true 
  5. gtid-mode=on 
  6. enforce-gtid-consistency=true 
  7. master-info-repository=TABLE 
  8. relay-log-info-repository=TABLE 
  9. sync-master-info=1  
  10. slave-parallel-workers=2  
  11. binlog-checksum=CRC32  
  12. master-verify-checksum=1  
  13. slave-sql-verify-checksum=1  
  14. binlog-rows-query-log-events=1  
  15. server-id=2  
  16. sync_binlog=1 

其實(shí),并不需要在slave端啟用binlog,但是為了在master故障時(shí),方便的轉(zhuǎn)換slave到master,并且方便建立slave的slave,所以采用和主服務(wù)器類似的配置。
 
復(fù)制設(shè)置會(huì)將用于復(fù)制的用戶和密碼以明文形式保存在master.info文件中,最好為復(fù)制建立專用的用戶,授予 REPLICATION SLAVE 權(quán)限。
 
在master端執(zhí)行:
 
GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'192.168.1.101' IDENTIFIED BY '12345678';
最后,在slave執(zhí)行指向master的命令,并開啟slave復(fù)制。
 
CHANGE MASTER TO MASTER_HOST='192.168.1.100', MASTER_PORT=3306, MASTER_USER='repluser',MASTER_PASSWORD='12345678', master_auto_position=1; START slave;
這時(shí)就可以測(cè)試在master上建立數(shù)據(jù)庫(kù),建表,然后監(jiān)控slave的復(fù)制狀態(tài)了。
 
本文中沒(méi)有涉及到已有數(shù)據(jù)庫(kù)在master上的情況,請(qǐng)參考這篇博文:http://www.zhaokunyao.com/archives/4131

后記:
 
附上備份和恢復(fù)腳本:命令行執(zhí)行

  1. Backup from remote server scripts:  
  2.  
  3. // for test database:  
  4. "C:\MySQL\MySQL Server 5.6\bin\mysqldump.exe" --user=root --max_allowed_packet=1G --host=10.192.8.105 --port=3306 --default-character-set=utf8 --set-gtid-purged=OFF --password --databases test > "C:\\Backup\\test.dump.sql"  
  5.  
  6. Restore to local dev machine scripts:  
  7.  
  8. // for test database:  
  9. "C:\MySQL\MySQL Server 5.6\bin\mysql.exe" --host=localhost --user=root --port=3306 --password --default-character-set=utf8 --comments < "C:\\Backup\\test.dump.sql" 

注意,上述腳本中,備份的部分要加入--set-gtid-purged=OFF參數(shù),防止在備份出的sql腳本中生成 SET @@global.gtid_purged 語(yǔ)句:
 
Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed suppressed parts of the database. If you don't want to restore GTIDs, pass --set-gtid-purged=OFF.

官方文檔關(guān)于set-gtid-purged是這樣寫的:

This option enables control over global transaction ID (GTID) information written to the dump file, by indicating whether to add a SET @@global.gtid_purged statement to the output. 

原文鏈接:http://www.cnblogs.com/jlzhou/archive/2013/03/22/2975913.html


 

責(zé)任編輯:彭凡 來(lái)源: 博客園
相關(guān)推薦

2023-01-11 08:00:00

MySQLGTID雙主模式

2014-08-28 09:43:38

FabricGTIDMysql

2015-11-19 09:26:01

ASP.NET跨平臺(tái)實(shí)踐

2019-10-25 10:42:51

框架Web開發(fā)

2023-12-13 13:15:13

平臺(tái)開發(fā)實(shí)踐

2022-08-12 08:34:32

攜程數(shù)據(jù)庫(kù)上云

2013-04-01 15:22:19

MySQL 5.6.1

2020-10-11 13:35:00

Windows 10微軟粘貼

2023-04-06 13:15:48

MySQL復(fù)制原理應(yīng)用實(shí)踐

2019-03-25 15:14:19

Flutter馬蜂窩開發(fā)

2025-03-14 00:53:12

2018-05-16 15:26:43

數(shù)據(jù)庫(kù)MySQL主從復(fù)制

2013-11-04 16:32:58

badBIOS病毒

2010-09-25 14:01:11

Java跨平臺(tái)

2012-07-06 15:00:03

跨平臺(tái)工具MoSync

2012-07-06 15:08:14

跨平臺(tái)工具Netbiscuits

2023-01-31 08:03:32

部署mongod配置

2018-05-15 10:34:55

2020-09-25 08:13:48

MySQL

2011-12-13 20:07:26

跨平臺(tái)工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩成人在线视频 | 亚洲日韩中文字幕一区 | 色偷偷888欧美精品久久久 | 久久69精品久久久久久国产越南 | av一级久久| 日韩中文在线视频 | 中文字幕亚洲免费 | 成人av网站在线观看 | 国产精品久久久久久妇女6080 | 日本成人中文字幕 | 女人夜夜春 | 国产高清视频一区 | 欧美日本在线观看 | 日韩a在线观看 | 亚洲va在线va天堂va狼色在线 | 日韩高清国产一区在线 | 国内av在线 | 99热精品久久 | 91中文字幕在线观看 | 亚洲精品久久久9婷婷中文字幕 | 国产一区二区中文字幕 | 亚洲欧美在线观看 | 老司机深夜福利网站 | 色在线免费视频 | 久久成人免费 | 亚洲精品麻豆 | 欧美日韩国产一区二区三区 | 一区二区三区在线免费观看视频 | 91玖玖| 国产精品日产欧美久久久久 | 欧美成人a∨高清免费观看 色999日韩 | 婷婷福利视频导航 | 欧美精品三区 | 久久精品一区二区 | 青青草在线播放 | 日韩中文字幕一区 | 国产精品美女视频 | 国产一区二区在线看 | 久久久久国产精品www | 九九av| 亚洲国产精品一区二区久久 |