MySQL-06 主从复制

本文详细介绍MySQL主从复制的配置流程,包括设置唯一服务器ID、启用二进制日志记录、创建复制权限账户、数据同步及从服务器配置等关键步骤。

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

主从复制

配置 Replication

配置步骤:

  1. 首先准备两台干净的虚拟机或服务器
  2. 在主服务器上,您必须启用二进制日志记录并配置唯一的服务器ID。需要重启服务器 在主服务器上,您必须启用二进制日志记录并配置唯一的服务器ID。需要重启服务器
    编辑主服务器的配置文件 /etc/my.cnf,添加如下内容
[mysqld]
log-bin=/var/log/mysql/mysql-bin
server-id=1
  1. 创建日志目录并赋予权限
shell> mkdir /var/log/mysql
shell> chown mysql.mysql /var/log/mysql
  1. 重启服务
shell> systemctl restart mysqld
  1. 在主服务器创建一个仅具有复制过程权限的单独帐户,以最大程度地降低对其他帐户的危害。
mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'Www.1.com';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
  1. 在主服务器创建一个仅具有all权限的单独帐户,用于从服务器远程拷贝原有的数据。
mysql> CREATE USER 'tom'@'%' IDENTIFIED BY 'Www.1.com';
mysql> GRANT ALL ON *.* TO 'tom'@'%';
 mysql> k
flush privileges;
  1. 在从服务器上使用刚才的用户进行测试连接
shell> mysql -urepl -p'Www.1.com' -hmaster_ip
shell> mysql -utom -p'Www.1.com' -hmaster_ip
//master_ip为主服务器IP

主服务器中有数据

  1. 在从服务器中导出主服务器原有的数据
shell> mysqldump  -utom  -pWww.1.com  --all-databases  --master-data=1 > dbdump.sql
//master_ip为主服务器IP
  1. 将主服务器数据恢复到从服务器上
mysql -u账号 -p密码 < dump.sql
//从服务器拥有权限的用户

配置从服务器

  1. 配置从服务器的 /etc/my.cnf
[mysqld]
server-id=2
  1. 配置完重启从服务器
shell> systemctl restart mysqld
  1. 进入从服务器mysql,执行如下操作
mysql> CHANGE MASTER TO
MASTER_HOST='mysql-master1',
MASTER_USER='repl',
MASTER_PASSWORD='Www.1.com',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=154;
mysql >stare slave;
//在主服务器利用show master status\G查询file和position

在这里插入图片描述

  1. 检查是否成功
show slave status\G

输出结果中应该看到 I/O 线程和 SQL 线程都是 YES, 就表示成功。在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值