日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Innobackupex实现mysql在线搭建master-slave主从复制

發(fā)布時(shí)間:2024/8/26 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Innobackupex实现mysql在线搭建master-slave主从复制 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

oracle、mysql、sqlserver這種使用物理備份做master-slave主從的,原理都是一樣,主庫不需要停機(jī),主庫在線做好物理備份后,恢復(fù)物理備份到從庫,從庫以主庫物理備份開始的這個(gè)時(shí)刻點(diǎn)為基準(zhǔn)點(diǎn)開始同步來自主庫的日志鏈,因?yàn)閟lave read only對(duì)root用戶不起作用,所以slave庫搭建好后記得禁用event或slave啟動(dòng)之前設(shè)置event_scheduler=off


主庫為ibdcmsproddb11,從庫為ibdcmsproddb12和ibdcmsproddb13,使用innobackupex在線搭建mysql庫的master-slave主從復(fù)制



操作步驟
1、主庫的數(shù)據(jù)庫列表和binlog文件名稱和位置,和主庫現(xiàn)有的slave實(shí)例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

MariaDB?[(none)]>?show?databases;

+--------------------+

|?Database???????????|

+--------------------+

|?ibdcmsarchive_wp???|

|?ibdcmsprod_wp??????|

|?ibdmarketing_wp????|

|?information_schema?|

|?monitor????????????|

|?mysql??????????????|

|?performance_schema?|

|?sys????????????????|

+--------------------+

8?rows?in?set?(0.07?sec)

1

2

3

4

5

6

7

MariaDB?[(none)]>?show?master?status;

+------------------+-----------+--------------+------------------+

|?File?????????????|?Position??|?Binlog_Do_DB?|?Binlog_Ignore_DB?|

+------------------+-----------+--------------+------------------+

|?mysql-bin.000660?|?103351805?|??????????????|??????????????????|

+------------------+-----------+--------------+------------------+

1?row?in?set?(0.00?sec)

1

2

3

MariaDB?[(none)]>?select?*?from?information_schema.processlist?as?p?where?

p.command?=?'Binlog?Dump';

Empty?set?(0.00?sec)




2、從庫12的數(shù)據(jù)庫列表

1

2

3

4

5

6

7

8

9

10

11

MariaDB?[(none)]>?show?databases;

+--------------------+

|?Database???????????|

+--------------------+

|?ibdmarketing_wp????|

|?information_schema?|

|?monitor????????????|

|?mysql??????????????|

|?performance_schema?|

|?sys????????????????|

+--------------------+



? 從庫13的數(shù)據(jù)庫列表

1

2

3

4

5

6

7

8

9

10

11

12

MariaDB?[(none)]>?show?databases;

+--------------------+

|?Database???????????|

+--------------------+

|?ibdcmsarchive_wp???|

|?ibdcmsprod_wp??????|

|?information_schema?|

|?mysql??????????????|

|?performance_schema?|

|?sys????????????????|

+--------------------+

6?rows?in?set?(0.00?sec)




3、主庫備份數(shù)據(jù)庫并創(chuàng)建用于同步的賬號(hào)
給機(jī)器12做的備份

1

2

innobackupex???-uroot?-p'pwd'?--stream=tar???/tmp??|?gzip?>?

/root/MySQLBackups/xtrabackup/ibdcmsproddb3_20210730_01.tar.gz

給機(jī)器13做的備份

1

2

innobackupex??-uroot?-p'pwd'?--no-timestamp?

/root/MySQLBackups/xtrabackup/ibdcmsproddb3_20210730_02


備注:
--no-timestamp表示不生成日期和時(shí)間格式的備份目錄,備份文件直接放入/root/MySQLBackups/xtrabackup/ibdcmsproddb3_20210730_02目錄,如下沒有使用--no-timestamp表示在/root/MySQLBackups/xtrabackup目錄下生成一個(gè)日期和時(shí)間命名的目錄來存放備份文件

1

2

innobackupex??-uroot?-p'pwd'?/root/MySQLBackups/xtrabackup>>

/root/MySQLBackups/xtrabackup/ibdcmsproddb3_20210730_for13.log



創(chuàng)建用于同步的賬號(hào)

1

mysql>?GRANT?REPLICATION?SLAVE?ON?*.*?TO?'slaveuser'@'%'?identified?by?'mima123456';




4、把innobackupex的物理備份文件從主庫拷貝到從庫,關(guān)閉從庫的mysql服務(wù),再在從庫恢復(fù),再進(jìn)行復(fù)制的配置
機(jī)器12

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

[root@ibdcmsproddb12?~]#?scp?root@Ibdcmsproddb11:/root/MySQLBackups/

xtrabackup/ibdcmsproddb3_20210730_01.tar.gz?/root/backup

--拷貝備份文件到機(jī)器12

[root@ibdcmsproddb12?~]#?mkdir?/root/backup/ibdcmsproddb3_20210730_01

[root@ibdcmsproddb12?~]#?tar?-xzvf?/root/backup/ibdcmsproddb3_20210730_01.tar.gz?-C?

/root/backup/ibdcmsproddb3_20210730_01

--對(duì)拷貝文件進(jìn)行tar解包

[root@ibdcmsproddb12?~]#?service?mysql?stop

--機(jī)器12關(guān)閉mysql服務(wù)

[root@ibdcmsproddb12?~]#?mv?/var/lib/mysql?/var/lib/mysql.bak

--機(jī)器12原來的數(shù)據(jù)庫目錄備份

[root@ibdcmsproddb12?~]#?mkdir?/var/lib/mysql

[root@ibdcmsproddb12?~]#?chown?mysql.mysql?/var/lib/mysql?

--機(jī)器12創(chuàng)建新的數(shù)據(jù)庫目錄

[root@ibdcmsproddb12?~]#?innobackupex?--apply-log?/root/backup/ibdcmsproddb3_20210730_01


--對(duì)機(jī)器11的數(shù)據(jù)庫備份進(jìn)行日志應(yīng)用

1

2

[root@ibdcmsproddb12?~]#?innobackupex?--copy-back?--datadir=

/var/lib/mysql?/root/backup/ibdcmsproddb3_20210730_01


--把機(jī)器11的數(shù)據(jù)庫備份拷貝回機(jī)器12的數(shù)據(jù)庫目錄

1

[root@ibdcmsproddb12?~]#?cat?/root/backup/ibdcmsproddb3_20210730_01/xtrabackup_binlog_info

mysql-bin.000660??????? 103353805?????? 0-61-183782513
--記錄機(jī)器11的數(shù)據(jù)庫備份文件的備份時(shí)刻點(diǎn)的binlog文件名稱和位置,即機(jī)器12后面做CHANGE MASTER TO MASTER_LOG_FILE這一行信息


機(jī)器12修改配置項(xiàng)

1

2

3

4

5

[root@ibdcmsproddb12?~]#?vi?/etc/my.cnf.d/server.cnf

read_only=true

event_scheduler=off

datadir=/var/lib/mysql

server-id=102



機(jī)器12配置同步

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

[root@ibdcmsproddb12?~]#?chown?-R?mysql.mysql?/var/lib/mysql

[root@ibdcmsproddb12?~]#?service?mysql?start

[root@ibdcmsproddb12?~]#?mysql?-uroot?-p

mysql>?select?db,name,last_executed,status?from?mysql.event;

mysql>?alter?event?dbname.eventname?disable;

mysql>?show?slave?status\G

mysql>?stop?slave;

mysql>?change?master?to?master_host='ibdcmsproddb11',master_port=3306,

master_user='slaveuser',master_password='mima123456',?

MASTER_LOG_FILE='mysql-bin.000660',?MASTER_LOG_POS=103353805;

--MASTER_LOG_FILE和MASTER_LOG_POS來自上面的/root/backup/ibdcmsproddb3_20210730_01/

xtrabackup_binlog_info

mysql>?show?warnings;

mysql>?show?slave?status\G

mysql>?start?slave;

mysql>?show?slave?status\G

mysql>?show?databases;





機(jī)器13

1

2

[root@ibdcmsproddb13?~]#?scp?-r?root@Ibdcmsproddb11:/root/MySQLBackups/xtrabackup/

ibdcmsproddb3_20210730_02?/root/backup

--拷貝備份文件到機(jī)器13

1

[root@ibdcmsproddb13?~]#?service?mysql?stop

--機(jī)器13關(guān)閉mysql服務(wù)

1

[root@ibdcmsproddb13?~]#?mv?/var/lib/mysql?/var/lib/mysql.bak

--機(jī)器13原來的數(shù)據(jù)庫目錄備份

1

2

[root@ibdcmsproddb13?~]#?mkdir?/var/lib/mysql

[root@ibdcmsproddb13?~]#?chown?mysql.mysql?/var/lib/mysql

--機(jī)器13創(chuàng)建新的數(shù)據(jù)庫目錄

1

[root@ibdcmsproddb13?~]#?innobackupex?--apply-log?/root/backup/ibdcmsproddb3_20210730_02/

--對(duì)機(jī)器11的數(shù)據(jù)庫備份進(jìn)行日志應(yīng)用

1

2

[root@ibdcmsproddb13?~]#?innobackupex?--copy-back?--datadir=/var/lib/mysql?

/root/backup/ibdcmsproddb3_20210730_02/

--把機(jī)器11的數(shù)據(jù)庫備份拷貝回機(jī)器13的數(shù)據(jù)庫目錄

1

2

[root@ibdcmsproddb13?~]#?cat?/root/backup/ibdcmsproddb3_20210730_02/xtrabackup_binlog_info

mysql-bin.000666????????103789407???????0-61-183782513

--記錄機(jī)器11的數(shù)據(jù)庫備份文件的備份時(shí)刻點(diǎn)的binlog文件名稱和位置,即機(jī)器13后面做CHANGE MASTER TO MASTER_LOG_FILE這一行信息


機(jī)器13修改配置項(xiàng)

1

2

3

4

5

[root@ibdcmsproddb13?~]#?vi?/etc/my.cnf.d/server.cnf

read_only=true

event_scheduler=off

datadir=/var/lib/mysql

server-id=103



機(jī)器13配置同步

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

[root@ibdcmsproddb13?~]#?chown?-R?mysql.mysql?/var/lib/mysql

[root@ibdcmsproddb13?~]#?service?mysql?start

[root@ibdcmsproddb13?~]#?mysql?-uroot?-p

mysql>?select?db,name,last_executed,status?from?mysql.event;

mysql>?alter?event?dbname.eventname?disable;

mysql>?show?slave?status\G

mysql>?stop?slave;

mysql>?change?master?to?master_host='ibdcmsproddb11',master_port=3306,

master_user='slaveuser',master_password='mima123456',?

MASTER_LOG_FILE='mysql-bin.000666',?MASTER_LOG_POS=103789407;

--MASTER_LOG_FILE和MASTER_LOG_POS來自上面的/root/backup/ibdcmsproddb3_20210730_02/

xtrabackup_binlog_info

mysql>?show?warnings;

mysql>?show?slave?status\G

mysql>?start?slave;

mysql>?show?slave?status\G

mysql>?show?databases;

總結(jié)

以上是生活随笔為你收集整理的Innobackupex实现mysql在线搭建master-slave主从复制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。