MySQL主从复制

打印 上一主题 下一主题

主题 799|帖子 799|积分 2397

主库配置

1、修改配置文件 /etc/my.cnf
  1. #mysql 服务ID,保证整个集群环境中唯一,取值范围:1 – 232-1,默认为1
  2. server-id=1
  3. #是否只读,1 代表只读, 0 代表读写
  4. read-only=0
  5. #忽略的数据, 指不需要同步的数据库
  6. #binlog-ignore-db=mysql
  7. #指定同步的数据库
  8. #binlog-do-db=db01
复制代码
2、重启MySQL服务器
  1. systemctl restart mysqld
复制代码
3、登录mysql,创建远程连接的账号,并授予主从复制权限
  1. #创建itcast用户,并设置密码,该用户可在任意主机连接该MySQL服务
  2. CREATE USER 'itcast'@'%' IDENTIFIED WITH mysql_native_password BY 'Root@123456';
  3. #为 'itcast'@'%' 用户分配主从复制权限
  4. GRANT REPLICATION SLAVE ON *.* TO 'itcast'@'%';
复制代码
4、通过指令,查看二进制日志坐标
  1. show master status ;
复制代码
字段含义说明:
  1. file : 从哪个日志文件开始推送日志文件
  2. position : 从哪个位置开始推送日志
  3. binlog_ignore_db : 指定不需要同步的数据库
复制代码
从库配置

1、修改配置文件 /etc/my.cnf
  1. 1. 修改配置文件 /etc/my.cnf
  2. 2. 重新启动MySQL服务
  3. 3. 登录mysql,设置主库配置
  4. 上述是8.0.23中的语法。如果mysql是 8.0.23 之前的版本,执行如下SQL:
  5. 4. 开启同步操作
  6. #mysql 服务ID,保证整个集群环境中唯一,取值范围:1 – 2^32-1,和主库不一样即可
  7. server-id=2
  8. #是否只读,1 代表只读, 0 代表读写
  9. read-only=1
复制代码
2、重新启动MySQL服务
  1. systemctl restart mysqld
复制代码
3、登录mysql,设置主库配置
  1. CHANGE REPLICATION SOURCE TO SOURCE_HOST='192.168.200.200', SOURCE_USER='test',
  2. SOURCE_PASSWORD='Root@123456', SOURCE_LOG_FILE='binlog.000004',
  3. SOURCE_LOG_POS=663;
复制代码
上述是8.0.23中的语法。如果mysql是 8.0.23 之前的版本,执行如下SQL:
  1. CHANGE MASTER TO MASTER_HOST='192.168.200.200', MASTER_USER='test',
  2. MASTER_PASSWORD='Root@123456', MASTER_LOG_FILE='binlog.000004',
  3. MASTER_LOG_POS=663;
复制代码
4、开启同步操作
  1. start replica ; #8.0.22之后
  2. start slave ; #8.0.22之前
复制代码
5、查看主从同步状态
  1. show replica status ; #8.0.22之后
  2. show slave status ; #8.0.22之前
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

悠扬随风

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表