MySQL数据库主从同步

本文介绍MySQL主从同步配置步骤,包括准备两台装有MySQL的机器、开启主库binlog、创建同步账号、备份主库数据并导入从库、配置从库同步参数等关键流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,准备工作
准备两台机器 ,各自安装一个 MySQL数据库 。比如

10.254.141.23 作为主数据库
10.254.166.60 作为从数据库

安装MySQL数据库参考 《MySQL数据库安装》
2,主库开启binlog
看主库上,是不是开启了 binlog ,主从同步需要开启这个。
mysql> show master status;
这里写图片描述

有binlog文件 ,和 当前的位置显示出来 ,说明开启了binglog ,否则需要先去开这个, 修改/etc/my.cnf ,然后重启数据库。
配置文件中加这几句
log-bin = mysql-bin
relay-log = relay-bin
binlog_format = MIXED
binlog_cache_size = 1M
3,主库上建立同步账号
在主机上 添加用于从库同步的账户
mysql> GRANT REPLICATION SLAVE ON . to ‘repl’@’%’ identified by ‘123456’;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

4,备份主库的数据
如果主服务器上 已经存在 数据, 需要先对 主库的数据进行备份, 一次性导入从库上, 然后再主从同步 ,否则会出现数据冲突。
如果是全新安装的 主从数据库, 还没有任何的数据写入, 可以跳过这一步,直接去配置主从。

4.1
先对主库数据进行备份
mysql> set sql_log_bin=0;
[root@rs1 ~]# /usr/local/bin/mysqldump -uroot -p123456 –socket=/home/mysql/mysql.sock –all-databases –single-transaction –flush-logs –master-data=2 > db.sql.2012-12-05
mysql> set sql_log_bin=1;

4.2
将备份数据复制到从服务器上
[root@rs1 ~]# scp /home/work/db.sql.2012-12-05 10.136.51.111:/home/work

在从服务器上进行数据同步:
mysql> source /home/work/db.sql.2012-12-05

5, 在从库上 配置
head -30 db.sql.2012-12-05
找到以– CHANGE MASTER TO MASTER_LOG开头的行,如下所示:
– CHANGE MASTER TO MASTER_LOG_FILE=’mysql-bin.000002’, MASTER_LOG_POS=107;
记录使用的二进制文件以及语句执行的位置。 因为要从这个位置开始 主从同步。

然后在从库上执行
mysql> slave stop;
mysql>
change master to
master_host=’10.254.141.23’,
master_user=’repl’,
master_password=’123456’,
master_port=3306,
master_log_file=’mysql-bin.000007’,
master_log_pos=107;
mysql> slave start;

看一下 从库的状态。
mysql> show slave status\G;

         Slave_IO_Running: Yes
        Slave_SQL_Running: Yes
        Seconds_Behind_Master: 0   0显示从服务器比主服务器慢多少秒

主从同步完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值