mysql 原生配置主从同步

docker映射mysql的my.cnf文件

#mysql默认配置文件是从/etc/my.cnf加载的
#这个命令用于查看mysql配置文件加载顺序, mysql只会从第一个位置找配置文件
mysql --help|grep 'my.cnf'
#用于查看是否配置过用户指定的配置文件
ps aux|grep mysql|grep 'my.cnf'
#所以我们要映射/etc/my.cnf的配置文件
docker run --name mariadb -v /docker/mysql/my.cnf:/etc/my.cnf -p 3306:3306 -e MYSQL_ROOT_PASSWORD=2650393056 -d mariadb

主库

[mysqld]
#开启mysql日志
log-bin=mysql-bin

#唯一标识
server-id=1

#不同步哪个库
binlog-ignore-db=mysql
binlog-ignore-db=information_schema

#只同步哪个库
binlog-do-db=test
#查看主库状态
SHOW MASTER STATUS;

#刷新权限
FLUSH PRIVILEGES;

#查看日志是否开启
show variables like '%log_bin%';

从服务器

[mysqld]
#局域网唯一标识
server-id=2

#不同步哪个库
binlog-ignore-db=mysql
binlog-ignore-db=information_schema

#只同步哪个库
binlog-do-db=test
#填写主库的信息
#MASTER_LOG_POS要和主库状态的Position字段一致
CHANGE MASTER TO
 MASTER_HOST='192.168.238.101',
 MASTER_USER='root',
 MASTER_PASSWORD='2650393056',
 MASTER_LOG_FILE='mysql-bin.000001',
 MASTER_LOG_POS=328;

#启动slave同步进程
start slave;
#查看slave状态
#Slave_IO_Running和Slave_SQL_Running都要是YES
show slave status

#刷新权限
FLUSH PRIVILEGES;

停止从库同步主库数据

#停止从库
stop slave;

#清除从库的同步复制信息、包括连接信息和二进制文件名、位置
reset slave all;

#停止后show slave status将不会有输出
上一篇:预测世界杯


下一篇:FIT1045 Algorithms and programming in Python