Centos stream 8 MySQL8 主从同步

Centos 8 MySQL8 主从同步

主要描述MySQL主从同步不描述MySQL如何安装。

按照本文操作前提下需要提安装好MySQL8.0

开始操作
  1. 把数据库开启远程连接,参照文章 MySQL8.0设置远程访问权限

  2. 创建数据库,这是在主数据库配置。

  3. CREATE DATABASE brief_test;# 创建数据库
    
    CREATE TABLE `test` (
      `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
      `service_name` varchar(50) NOT NULL COMMENT '自增',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; # 创建测试表
    
    INSERT INTO `test` VALUES (1, 'master');
    INSERT INTO `test` VALUES (2, 'slave1');
    INSERT INTO `test` VALUES (3, 'slave2'); # 添加测试数据
    

编辑主从数据库配置

  1. 编辑主数据库配置

  2. 修改 /etc/my.conf,添加如下配置。 vim /etc/my.conf

  3. [mysqld]
    #配置主库
    server_id=1              #服务器id 不能重复 1,2,3,4这种以此类推
    log_bin=master-bin
    log_bin-index=master-bin.index
    binlog-do-db=brief_test  #需要同步的数据库名称 配置多个数据库需要配置多个binlog-do-db 例如 binlog-do-db=brief_test1 binlog-do-db=brief_test2 binlog-do-db=brief_test3 这种方式配置
    
  4. 保存,重启mysql服务。

  5. systemctl restart mysqld

  6. ======================

  7. 修改从数据库

  8. 修改 /etc/my.conf,添加如下配置。 vim /etc/my.conf

  9. [mysqld]
    server_id=2    #服务编号不能重复
    read_only=on   #设置为只读
    
  10. 重启mysql服务

  11. systemctl restart mysqld

  12. 登录主数据库 执行 show master status

  13. 登录到从数据库 mysql -uroot -proot

  14. 执行命令

    1. CHANGE MASTER TO MASTER_HOST='172.16.102.7', #主数据库ip
      MASTER_PORT=3306,                            #主数据库端口
      MASTER_USER='proxysql',                      #主数据库复制账号
      MASTER_PASSWORD='jishuzhai',                 #主数据库密码
      MASTER_LOG_FILE='master-bin.000001',         #刚才从master数据库查询file值
      MASTER_LOG_POS=156;                          #刚才从master数据库查询postition值
      
  15. 执行start slave;

  16. 然后执行 show slave status;#查看slave状态

  17. 注意Slave_io_RunningSlave_SQL_Running一定要是YES

  18. img

关于清理binary日志

主从会产生大量的日志文件 可以使用以下方式自动清理

show binary logs;#查询日志
set GLOBAL binlog_expire_logs_seconds = 1296000 #设置日志过期时间为15天单位秒 超过15的会被自动清除
SELECT @@binlog_expire_logs_seconds #查询是否生效
flush logs;# 立即生效

使用navicat添加表的时候,从数据库会自动同步主数据库的数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值