- docker 安装mysql 主从(主从):
主服务器:
docker run -p 3307:3306 --name mysql-master --privileged=true -v /myl/mysql-master/log:/var/log/mysql -v /myl/mysql-master/data:/var/lib/mysql -v /myl/mysql-master/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
/myl/mysql-master/conf/创建my.cnf
[mysqld]
server_id=101
binlog-ignore-db=mysql
##下面主从的时候用到
log-bin=mall-mysql-bin
binlog_cache_size=1M
binlog_format=mixed
expire_logs_days=7
slave_skip_errors=1062
mysql>create user ‘myl’@‘%’ IDENTIFIED BY ‘123456’
mysql> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON . TO ‘myl’@‘%’;
从服务器:
docker run -p 3308:3306 --name mysql-slave --privileged=true -v /myl/mysql-slave/log:/var/log/mysql -v /myl/mysql-slave/data:/var/lib/mysql -v /myl/mysql-slave/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
/myl/mysql-slave/conf/创建my.cnf
[mysqld]
server-id=102
##指定不需要同步的数据库
binlog-ignore-db=mysql
log-bin=mall-mysql-slave1-bin
binlog_cache_size=1M
binlog_format=mixed
expire_logs_days=7
slave_skip_errors=1062
relay_log=mall-mysql-relay-bin
log_slave_updates=1
##从库设置为只读
read_only=1
重启容器docker restart mysql-slave
mysql>change master to master_host=‘IP’,master_port=3307,master_user=‘myl’,master_password=‘123456’,master_log_file=‘mall-mysql-bin.000001’,master_log_pos=617,master_connect_retry=30;
show slave statusG;
查看状态:Slave_IO_Running: No
Slave_SQL_Running: No
开启主从同步:start slave;
show slave statusG;
查看状态:Slave_IO_Running: Yes
Slave_SQL_Running: yes
问题:Slave_IO_Running: NO
master上:
查询master:show master status; 查看 File ,Position
slave上:
stop slave;
change master to master_host=‘IP’,master_port=3307,master_user=‘myl’,master_password=‘123456’,master_log_file=‘File’,master_log_pos=Position,master_connect_retry=30;
start slave;



