MySQL主从配置【linux版】

MySQL主从配置

参考文档

https://blog.csdn.net/richie696/article/details/114261284

步骤

  • 准备3台虚拟机,并在虚拟机上安装mysql服务

  • 修改3台主机的mysql服务的server-uuid,保证他们的uuid都不同。UUID可以找网站生成。

    • vim /var/lib/mysql/auto.cnf
      
  • 配置主库【Master】

    • #打开配置文件
      vim /etc/mysql/my.cnf
      
    • #添加如下配置
      [mysqld]
      # MySQL8.0的默认时区
      default-time_zone='+8:00'
      # 默认binlog文件的名称(可自定义)
      log_bin=mysql-bin
      # 当前服务器的ID,不能重复,推荐用服务器IP D段
      server-id=158
      # 数据刷盘参数=1时,只要有1个事务提交就会触发写盘的操作,安全性最高,并发性最差
      # 数据刷盘参数=0时,由文件系统控制写盘的频率,并发性能最好,但是意外丢失数据的风险最大,这里根据实际需求配置,不建议乱配。
      sync_binlog=0
      # 排除掉不需要同步的数据库列表
      binlog-ignore-db=performance_schema
      binlog-ignore-db=information_schema
      binlog-ignore-db=sys
      
    • 配置好以后重启服务

  • 配置从库【slave】

    • #修改从库配置文件如下:
      [mysqld]
      server-id=160
      #启用中继日志,其中mysql-relay表示日志的文件名称,该文件用来存储从主库中同步过来的数据【主库binlog日志信息】
      relay_log=mysql-relay-bin
      # 从库只读
      read_only=1
      
    • 在从库的mysql-cli执行一下语句:
      change master to master_host='192.168.136.129',master_port=3306,master_user='root',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=157;
      
      其中:
      master_host 	主库地址
      master_port 	主库端口号
      master_user 	主库用户名
      master_password 主库密码
      master_log_file	主库binlog文件名
      master_log_pos	主库binlog文件偏移量,用来指定从哪个位置同步
      
    • 接着执行命令 start slave;

  • 其他命令:

    • 查看主库状态: show master status;
    • 查看从库状态: show slave status \G;

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