Mysql数据库配置异步同步主从复制

2018-11-05  本文已影响0人  Kim9501

title: Mysql数据库配置异步同步主从复制
date: 2018-11-02 15:28:21
tags:


Mysql 数据库配置主从复制

环境

异步复制

主服务器文件配置

[mysqld]
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
datadir=/var/lib/mysql
log-error=/var/log/mysql/mysql-error.log
symbolic-links=0 # 不使用到表的链接符号
lower_case_table_names=1 #表名在硬盘中以小写保存,名称比较对大小写不敏感
server-id=80 #服务器id,在局域网内,该id是唯一的,一般设置为ip的最后一位
log-bin=master-bin #开启二进制文件,名称可以根据需要自定义,默认保存在数据目录下,会自动添加一个数字扩展名用于日志老化,不支持自定义扩展名
log-bin-index=master-bin.index #二进制日志文件对应的日志索引文件,该文件包含所有的二进制日志,文件名与二进制日志文件名相同,扩展名为.index
max_binlog_size=1M # 若当前的日志大小达到1M,则自动创建新的二进制日志。但是,对于大的事物,二进制日志会超过该设定值,将所有事务仅写入一个日志文件
expire_logs_days = 10 #日志保留时间

主服务器数据库配置

  1. 进入容器mysql-master:docker exec -it mysql-master bash
  2. 进入mysql数据库内容进行相关的操作:
mysql -uroot -p
mysql>
    grant replication slave ,replication client on *.* to 'slave_db'@'192.168.10.%' identified by 'passwd'; 
    flush privileges;
    flush table with read lock; #锁库,不让数据再进行写操作,这个命令在结束终端会话时自动解锁
    show master status;

show master status

从服务器文件配置

[mysqld]
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
datadir=/var/lib/mysql
log-error=/var/log/mysql/mysql-error.log
symbolic-links=0
lower_case_table_names=1
server-id=100 # 其他从服务器依次修改
log-bin=slave0-bin.log # 修改为其他从服务器名称
sync_binlog=3 #控制binlog写入频率,每执行多少次事务写入一次,这个参数性能消耗很大,但是可以减少Mysql崩溃造成的损失

从服务器数据库配置

mysql>
    change master to master_host=`192.168.10.2`,master_port=3306,master_user=`slave_db`,master_password=`20170110`,master_log_file=`master-bin.000001`,master_log_pos=634;
    start slave;
    show slave status;

show slave status

参考

  1. https://juejin.im/post/5a2e4bd66fb9a044fa19cfb7
  2. https://juejin.im/post/5afed922f265da0ba76ffeab
上一篇下一篇

猜你喜欢

热点阅读