oracle、mysql、sqlserver這種使用實體備份做master-slave主從的,原理都是一樣,主庫不需要停機,主庫線上做好實體備份後,恢複實體備份到從庫,從庫以主庫實體備份開始的這個時刻點為基準點開始同步來自主庫的日志鍊,因為slave read only對root使用者不起作用,是以slave庫搭建好後記得禁用event或slave啟動之前設定event_scheduler=off
主庫為ibdcmsproddb11,從庫為ibdcmsproddb12和ibdcmsproddb13,使用innobackupex線上搭建mysql庫的master-slave主從複制
操作步驟
1、主庫的資料庫清單和binlog檔案名稱和位置,和主庫現有的slave執行個體
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
|
|
2、從庫12的資料庫清單
|
從庫13的資料庫清單
|
3、主庫備份資料庫并建立用于同步的賬号
給機器12做的備份
|
給機器13做的備份
|
備注:
--no-timestamp表示不生成日期和時間格式的備份目錄,備份檔案直接放入/root/MySQLBackups/xtrabackup/ibdcmsproddb3_20210730_02目錄,如下沒有使用--no-timestamp表示在/root/MySQLBackups/xtrabackup目錄下生成一個日期和時間命名的目錄來存放備份檔案
|
建立用于同步的賬号
|
4、把innobackupex的實體備份檔案從主庫拷貝到從庫,關閉從庫的mysql服務,再在從庫恢複,再進行複制的配置
機器12
15 | |
--對機器11的資料庫備份進行日志應用
|
--把機器11的資料庫備份拷貝回機器12的資料庫目錄
|
mysql-bin.000660 103353805 0-61-183782513
--記錄機器11的資料庫備份檔案的備份時刻點的binlog檔案名稱和位置,即機器12後面做CHANGE MASTER TO MASTER_LOG_FILE這一行資訊
機器12修改配置項
|
機器12配置同步
16 17 | |
機器13
|
--拷貝備份檔案到機器13
|
--機器13關閉mysql服務
|
--機器13原來的資料庫目錄備份
|
--機器13建立新的資料庫目錄
|
|
--把機器11的資料庫備份拷貝回機器13的資料庫目錄
|
--記錄機器11的資料庫備份檔案的備份時刻點的binlog檔案名稱和位置,即機器13後面做CHANGE MASTER TO MASTER_LOG_FILE這一行資訊
機器13修改配置項
|
機器13配置同步
|