mysql 主从复制额外命令
在docker 中查看指定mysql IP
//主数据库mysql-master docker inspect mysql-master | grep IP
二、查看mysql 状态
show slave status G;
三、用到的一些命令
查看ip docker inspect slave| grep IP //在从数据库停止 stop slave //查看从数据库绑定状态 show slave status G; master: docker run -p 3308:3308 --name mysql-master -v /mydata/mysql-master/log:/var/log/mysql -v /mydata/mysql-master/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d 938b57d64674 slave: docker run -p 3309:3309 --name mysql-slave -v /mydata/mysql-slave/log:/var/log/mysql -v /mydata/mysql-slave/data:/var/lib/mysql -v /mydata/mysql-slave/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d 938b57d64674 master: my.cnf [mysqld] ## 设置server_id,同一局域网中需要唯一 server_id=101 ## 指定不需要同步的数据库名称 binlog-ignore-db=mysql ## 开启二进制日志功能 log-bin=mall-mysql-bin ## 设置二进制日志使用内存大小(事务) binlog_cache_size=1M ## 设置使用的二进制日志格式(mixed,statement,row) binlog_format=mixed ## 二进制日志过期清理时间。默认值为0,表示不自动清理。 expire_logs_days=7 ## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。 ## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致 slave_skip_errors=1062 slave:my.cnf [mysqld] ## 设置server_id,同一局域网中需要唯一 server_id=102 ## 指定不需要同步的数据库名称 binlog-ignore-db=mysql ## 开启二进制日志功能,以备Slave作为其它数据库实例的Master时使用 log-bin=mall-mysql-slave1-bin ## 设置二进制日志使用内存大小(事务) binlog_cache_size=1M ## 设置使用的二进制日志格式(mixed,statement,row) binlog_format=mixed ## 二进制日志过期清理时间。默认值为0,表示不自动清理。 expire_logs_days=7 ## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。 ## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致 slave_skip_errors=1062 ## relay_log配置中继日志 relay_log=mall-mysql-relay-bin ## log_slave_updates表示slave将复制事件写进自己的二进制日志 log_slave_updates=1 ## slave设置为只读(具有super权限的用户除外) read_only=1 master数据同步命令: CREATE USER slave@% IDENTIFIED BY 123456; GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO slave@%; slave: change master to master_host=172.17.0.2, master_user=slave, master_password=123456, master_port=3308, master_log_file=mall-mysql-bin.000002, master_log_pos= 154;
下一篇:
Docker搭建mysql主从(简版)