mysql利用mysqldump方式搭建主从

背景:线上环境在主库不停服的情况下,利用mysqldump的方式搭建从库。

建议:在主库比较小的情况下(个人建议50G左右),主库不停服可以利用mysqldump搭建从库。如果主库很大,建议利用mysql热备份工具:Percona XtraBackup搭建(后期分享这种方法)。

开始搭建:

1、主库和从库的版本需要一致,这里就不介绍数据库的安装步骤了。

      此次:主库:192.168.222.174,从库:192.168.222.175。

2、在主库(192.168.222.174)上创建用户,用于从库读取数据用。

CREATE USER 'Slave'@'%' IDENTIFIED BY 'Slave_123';  #创建用户:Slave,%表示可以从任何机器登录,密码:Slave_123
GRANT REPLICATION SLAVE ON *.* TO 'Slave'@'%';  #授予用户Slave复制从服务器权限
FLUSH PRIVILEGES;   #刷新权限

3、主库(192.168.222.174)上配置my.cnf,以下是最简单的配置,需要什么配置可以自行配置:

server_id=174   #server_id,需要唯一
log-bin=mysql-bin   #binlog文件名

4、备份主库(192.168.222.174)的所有数据库:

mysqldump -uroot -pZdjy   --single-transaction --master-data=2 --all-databases > backup.sql

5、将备份出的数据scp到从库(192.168.222.175)机器上的/tmp/目录下:

scp backup.sql  192.168.222.175:/tmp/

6、从库(192.168.222.175)上配置my.cnf:

server_id=175

7、从库(192.168.222.175上)恢复备份的数据:

mysql -u root -p 

8、查看主库(192.168.222.174)在备份时:binlog_file和log_pos的位置点,大概在备份文件的30行:

head -n 50 backup.sql

9、从库(192.168.222.175)设置同步操作:

change master to master_host='192.168.222.174',   #配置主库为:192.168.222.174
master_user='Slave',   #从库可以用Slave用户登录主库
master_password='Slave_123',   #用户Slave的密码
master_log_file='mysql-bin.000009',   #上面查看的位置
master_log_pos=8052;    #上面查看的位置

10、从库(192.168.222.175)开启同步:

start slave; 开启主从同步

show slave status\G;  查看主从同的情况

当从库上Slave_IO_Running: Yes 和 Slave_SQL_Running: Yes 都为Yes时,主从搭建成功。

11、扩展:

1)、可以在主库上安装工具:percona-tools,来检查主从的数据是否一致。

2)、如果需要删除主从配置,在从库上:

stop  slave;  停止从库

reset  master;  删除从库上配置的主库

reset  slave;  删除从库配置

show slave status\G;  查看主从关系是否被删除

以上就是今天的分享,下次分享热备份工具:Percona XtraBackupd搭建主从的过程。

你可能感兴趣的:(mysql,数据库)