使用多实例进行主从复制实践案例(一主一从)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用多实例进行主从复制实践案例(一主一从)相关的知识,希望对你有一定的参考价值。

环境:多实例

10.0.0.52 3306

10.0.0.52 3307

3306---->3307复制---->3309

   ---->3008复制

3306<---->3307

 

架构实践:

3306---->3307

1开启主库binlog,配置server-id

[[email protected] ~]# egrep -i"server-id|log-bin" /data/3306/my.cnf

log-bin = /data/3306/mysql-bin

server-id = 6       #注意id号不能一样,要区别

重启服务

开启主库binlog日志

vim /data/3306/my.cnf

pid-file = /data/3306/mysql.pid

log-bin = /data/3306/mysql-bin       ###将此行注释去掉,然后重新启动多实例

relay-log = /data/3306/relay-bin

"/data/3306/my.cnf" [dos]72L, 1824C written                              

[[email protected] backup]#

从库

[[email protected] ~]# egrep -i"server-id|log-bin" /data/3307/my.cnf

#log-bin = /data/3307/mysql-bin

server-id = 7

2.主库创建用户

mysql> grant replication slave on *.* to ‘rep‘@‘172.16.1.%‘identified by ‘oldboy123‘;

Query OK, 0 rows affected (0.04 sec)

mysql> select user,host frommysql.user;

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

| user | host       |

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

| root | 127.0.0.1  |

| rep | 172.16.1.% |

3.主库导出数据

按照我们讲过的内容,直接取今天00点的备份就可以.

mysql> flush table with read lock;      ####一般大部分情况不需要锁库,因为备份的时候已经有参数备份了。

Query OK, 0 rows affected (0.00 sec)

 

mysql> show master status; ####获取binlog日志关键点

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

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |Executed_Gtid_Set |

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

| mysql-bin.000001 |      120 |              |                  |                   |

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

1 row in set (0.00 sec)

mysqldump

cp/tar

xtrabackup

拿到位置点是关键

mysql-bin.000001   120

 

[[email protected] ~]# mysqldump -B --master-data=2 --single-transaction -S/data/3306/mysql.sock -A|gzip>/data/backup/all_$(date +%F).sql.gz

[[email protected] ~]# ls -l /data/backup/

总用量 228

-rw-r--r-- 1 root  root 178468 6  28 11:11 all_2017-06-28.sql.gz

主库解锁:

mysql> unlock table;

Query OK, 0 rows affected (0.00 sec)

4.从库导入全备的数据

[[email protected] backup]# gzip -d all_2017-06-28.sql.gz

[[email protected] backup]# mysql -S /data/3307/mysql.sock <all_2017-06-28.sql

5.找位置点,然后change master从库

[[email protected] backup]# sed -n ‘22p‘all_2017-06-28.sql

-- CHANGE MASTER TOMASTER_LOG_FILE=‘mysql-bin.000001‘, MASTER_LOG_POS=120;

进入数据库中,然后输入下面内容

CHANGE MASTER TO 

MASTER_HOST=‘172.16.1.52‘,         ###主数据库的IP地址

MASTER_PORT=3306,              ###主数据库的端口

MASTER_USER=‘rep‘,                ###连接主数据库的用户名

MASTER_PASSWORD=‘oldboy123‘,     ####连接主数据库的密码

MASTER_LOG_FILE=‘ oldboy-bin.000005‘,     ###主数据库上的binlog日志

MASTER_LOG_POS=223;                 ###主数据库的binlog日志关键点

mysql> start slave;     ###开启从库

Query OK, 0 rows affected (0.03 sec)

6.查看从库是否配置正确

mysql> show slave status\G

[[email protected] backup]# mysql -S/data/3307/mysql.sock -e "show slave status\G"|egrep"_Running|Behind_Master"|head -3

             Slave_IO_Running: Yes

            Slave_SQL_Running: Yes

        Seconds_Behind_Master: 0

提示:一主多从类似于一主一从


本文出自 “写个博客骗钱” 博客,请务必保留此出处http://dadonggg.blog.51cto.com/12672150/1948362

以上是关于使用多实例进行主从复制实践案例(一主一从)的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB建立主从复制小案例(一主一从)

mysql主从复制--一主一从

mysql主从复制原理及一主一从搭建过程—2023.04

主从复制:主从复制的概述一主一从架构搭建主从复制的原理同步数据一致性问题

mysql搭建主从复制(一主一从,双主双从)

mysql主从复制(一主一从)