RDS同步到本地數(shù)據(jù)庫從庫

  • RDS mysql版本為5.6.29 x86_64

1、下載數(shù)據(jù)備份登渣、binlog備份

  • 內(nèi)網(wǎng)中轉(zhuǎn)摊求?數(shù)據(jù)量不大,直接下載
  • 下載數(shù)據(jù)備份(外網(wǎng)下載鏈接) wget -c "https://rdslog-st.oss-cn-shenzhen.aliyuncs.com/xxx" -O xxx.tar.gz

2索守、內(nèi)網(wǎng)測試機安裝mysql5.6

  • wget -c "http://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz"
  • tar xf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
  • cd /usr/local && ln -s mysql-5.6.33-linux-glibc2.5-x86_64 mysql
  • mkdir -p /home/mysql/data
  • chown -R mysql.mysql /home/mysql && chmod -R o=--- /home/mysql

3晕窑、恢復備份到內(nèi)網(wǎng)測試機

  • 下載解壓腳本 rds_backup_extract.sh
  • 下載恢復工具 Percona-XtraBackup
  • sh rds_backup_extract.sh -f hins1438123_xtra_20160912032142.tar.gz -C /home/mysql/data
  • /home/backup/percona-xtrabackup-2.4.4-Linux-x86_64/bin/innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data
  • 編輯mysql配置文件,開啟gtid
cd /home/mysql/data  
cp backup-my.cnf slave-my.cnf
vim slave-my.cnf 
[mysqld]
# from rds backup-my.cnf
innodb_checksum_algorithm=innodb
innodb_data_file_path=ibdata1:200M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=524288000
innodb_undo_directory=.
innodb_undo_tablespaces=0
# need for slave 
server-id = 17
master-info-repository = file
relay-log-info_repository = file
binlog-format = ROW
gtid-mode = ON
enforce-gtid-consistency = true
log-bin = hostname-bin
relay-log = hostname-relay-bin
log-slave-updates
  • 啟動mysqld
/usr/local/mysql/bin/mysqld_safe --defaults-file=/home/mysql/data/slave-my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/data &
  • 清除slave信息
sql> reset slave;
# 報錯 
ERROR 1794 (HY000): Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in the MySQL error log.
# 原因是由于RDS的備份文件中包含了RDS的主從復制關(guān)系卵佛,需要把這些主從復制關(guān)系清理掉杨赤,清理方法:
sql> truncate table mysql.slave_relay_log_info;
sql> truncate table mysql.slave_master_info;
# 然后重啟服務
/usr/local/mysql/bin/mysqladmin -S /tmp/mysql.sock -uroot shutdown 
  • 恢復完成的mysql.user 是不包含rds中創(chuàng)建的用戶的,需要重新創(chuàng)建
  • 重建用戶前先執(zhí)行一下sql
delete from mysql.db where user<>'root' and char_length(user)>0;
delete from mysql.tables_priv where user<>'root' and char_length(user)>0;
flush privileges;

4截汪、配置主從同步

  • 嘗試 master_auto_position=1 讓主從自行尋找開始復制的pos
sql> change master to
master_host=’rdsxfjwiofjwofe.mysql.rds.aliyuncs.com’,
master_user=’user_name’,master_port=3306,master_password=’xxxxx’,
master_auto_position=1;
# 結(jié)果 start slave 報錯
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires.'
  • 上面的報錯有兩種解決方法:
    • 設置 master_auto_position=0 并指定 binlog 文件和 pos 位置開始復制
# binlog pos 可以從恢復的備份文件中獲得
cat xtrabackup_slave_filename_info 
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000348', MASTER_LOG_POS='5569205'
# 配置復制
sql> change master to
master_host=’rdsxdjsfiwfojief.mysql.rds.aliyuncs.com’,
master_user=’user_name’,master_port=3306,master_password=’xxxxx’,
master_auto_position=0,master_log_file='mysql-bin.000348',master_log_pos=5569205;
sql> start slave;
# 可以正常開始復制疾牲,但重新設置 master_auto_position=1 又會報同樣的錯
* 手工修改 GTID_PURGED 值
# 同樣的備份文件里有信息
cat /home/mysql/data/xtrabackup_slave_info 
SET GLOBAL gtid_purged='016ced19-9d47-11e5-8f1b-1051721bd1ff:1-1875724, 068bb241-3474-11e6-a8e5-8038bc0c695e:1-1858400, 0e1a732e-9d47-11e5-8f1b-d89d672b932c:1-4';
CHANGE MASTER TO MASTER_AUTO_POSITION=1
# 配置主從
sql> change master to
master_host=’rdsxfslfiewfiewfji.mysql.rds.aliyuncs.com’,
master_user=’user_name’,master_port=3306,master_password=’xxxxx’,
master_auto_position=1;
sql> start slave; # 報錯
sql> stop slave;
sql> reset master;
sql> SET GLOBAL gtid_purged='016ced19-9d47-11e5-8f1b-1051721bd1ff:1-1875724, 068bb241-3474-11e6-a8e5-8038bc0c695e:1-1858400, 0e1a732e-9d47-11e5-8f1b-d89d672b932c:1-4';
sql> start slave;

5、最后看下slave狀態(tài)
一開始 Seconds_Behind_Master 值會很大衙解,是因為使用的數(shù)據(jù)備份是前一天的阳柔,等它慢慢同步完就正常了

mysql> show slave status \G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: rdsxxxxxxxxxxxxx.mysql.rds.aliyuncs.com
                  Master_User: user_name
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000350
          Read_Master_Log_Pos: 1717466
               Relay_Log_File: hostname-relay-bin.000006
                Relay_Log_Pos: 1717596
        Relay_Master_Log_File: mysql-bin.000350
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 1717466
              Relay_Log_Space: 1717886
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 2224019206
                  Master_UUID: 068bb241-3474-11e6-a8e5-8038bc0c695e
             Master_Info_File: /home/mysql/data/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
           Master_Retry_Count: 86400
                  Master_Bind: 
      Last_IO_Error_Timestamp: 
     Last_SQL_Error_Timestamp: 
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
           Retrieved_Gtid_Set: 068bb241-3474-11e6-a8e5-8038bc0c695e:1858401-1875134
            Executed_Gtid_Set: 016ced19-9d47-11e5-8f1b-1051721bd1ff:1-1875724,
068bb241-3474-11e6-a8e5-8038bc0c695e:1-1875134,
0e1a732e-9d47-11e5-8f1b-d89d672b932c:1-4
                Auto_Position: 1
1 row in set (0.00 sec)

ERROR: 
No query specified

mysql>

參考文檔:
RDS for MySQL 備份文件恢復到自建數(shù)據(jù)庫
如何將RDS的數(shù)據(jù)同步到本地自建數(shù)據(jù)庫
MySQL 5.6版本GTID復制異常處理一例

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蚓峦,隨后出現(xiàn)的幾起案子舌剂,更是在濱河造成了極大的恐慌,老刑警劉巖暑椰,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件霍转,死亡現(xiàn)場離奇詭異,居然都是意外死亡一汽,警方通過查閱死者的電腦和手機避消,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來角虫,“玉大人沾谓,你說我怎么就攤上這事〈炼欤” “怎么了均驶?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長枫虏。 經(jīng)常有香客問我妇穴,道長爬虱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任腾它,我火速辦了婚禮跑筝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘瞒滴。我一直安慰自己曲梗,他們只是感情好,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布妓忍。 她就那樣靜靜地躺著虏两,像睡著了一般。 火紅的嫁衣襯著肌膚如雪世剖。 梳的紋絲不亂的頭發(fā)上定罢,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音旁瘫,去河邊找鬼祖凫。 笑死,一個胖子當著我的面吹牛酬凳,可吹牛的內(nèi)容都是我干的惠况。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼宁仔,長吁一口氣:“原來是場噩夢啊……” “哼售滤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起台诗,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤完箩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后拉队,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體弊知,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年粱快,在試婚紗的時候發(fā)現(xiàn)自己被綠了秩彤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡事哭,死狀恐怖漫雷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鳍咱,我是刑警寧澤降盹,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站谤辜,受9級特大地震影響蓄坏,放射性物質(zhì)發(fā)生泄漏价捧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一涡戳、第九天 我趴在偏房一處隱蔽的房頂上張望结蟋。 院中可真熱鬧,春花似錦渔彰、人聲如沸嵌屎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽编整。三九已至,卻和暖如春乳丰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背内贮。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工产园, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人夜郁。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓什燕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親竞端。 傳聞我的和親對象是個殘疾皇子屎即,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容