个人编程资料整理整理

MySql主从配置

MySQL2019-10-04 13:28:11

MYSQL主从配置的几个关键要素。

1、主从服务器安装mysql(建议从服务器版本大于等于主服务器),都开启binlog

log-output=FILE
general-log=0
general_log_file="iZao4wdk2x4dw2Z.log"
slow-query-log=1
slow_query_log_file="iZao4wdk2x4dw2Z-slow.log"
long_query_time=10
log-bin
server-id=1
log-error="iZao4wdk2x4dw2Z.err"
log-output=FILE
general-log=0
general_log_file="iZao4wdk2x4dw2Z.log"
slow-query-log=1
slow_query_log_file="iZao4wdk2x4dw2Z-slow.log"
long_query_time=10
log-bin
server-id=2
log-error="iZao4wdk2x4dw2Z.err"
#replicate_do_db=python #同步的数据库名称
#replicate_ignore_db=mysql  #忽略同步的数据库

2、主从服务器的server-id不要一致
3、同步主从数据库的数据一致。
4、在主服务器上创建同步权限用户

use mysql;
create user slave1;
grant replication slave on *.* to 'slave1'@'%' identified by '123456';
flush privileges;

5、主服务器上查看同步状态

show master status;

6、修改从服务器同步配置
master_log_file和master_log_pos为上面拿到的状态值。

STOP SLAVE;
change master to
    master_host='主服务器地址',
    master_port=3306,
    master_user='slave1',
    master_password='123456',
    master_log_file='DESKTOP-E2UCTJD-bin.000002',
    master_log_pos=107;
START SLAVE;

其他说明:
备份数据库:

mysqldump
    -uroot
    -proot
    --master-data=2
    -F
    --single-transaction > ./backup.sql.gz

参数说明:

-S:指定socket文件,单机多实例必须要指定
-A:--all-databases,表示备份所有的数据库
--master-data:表示change master命令是否包括在备份之后的sql文件中,常用的值有1和2
    1:表示change master指令在sql文件中处于打开状态,可用于快速创建主从同步,不用再次手动修改日志文件名称和位置点
    2:表示change master指令在sql文件中会被注释,从库上使用change master时需要手动指定日志文件的文件名和位置点
-F:表示备份日志的时候刷新二进制日志,重新创建一个新的二进制日志文件
--single-transaction:
    用于InnoDB存储引擎格式的表备份,导出开始时设置事务隔离状态并使用一致性快照开始事务,unlock tables后执行导出
#其他常见参数在后面的MySQL数据备份于恢复会详细介绍

主库只log部分库/表

binlog_do_db=user_db
binlog-ignore-db

从库只同步部分库/表

replicate-do-db
replicate-do-table
replicate-wild-do-table=db_name.%
replicate-ignore-db
replicate-ignore-table
replicate-wild-ignore-table

标签:slave master 主从 mysql 

文章分类

  • 最新评论
  •  
  •