以上略过docker 的安装过程
主机1ip 10.0.9.31(主)
主机1ip 10.0.9.31(从)
进入主机1
mkdir /data/mysql
cd /data/mysql
mkdir conf
docker run -p 3306:3306 --name mysql -v /data/mysql/logs:/logs -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d --privileged=true mysql:5.7
创建/data/mysql/文件夹
创建一个临时的mysql镜像,用于复制mysql的配置文件
docker cp mysql:/etc/mysql /data/mysql/conf
修改配置文件
/data/mysql/conf/mysql/mysql.conf.d/mysqld.cnf
log-bin=/var/lib/mysql/mysql-bin
server-id=13
binlog-ignore-db = mysql
binlog-ignore-db = performance_schema
binlog-ignore-db = information_schema
server-id代码当前主机的唯一标识
docker stop mysql
docker rm mysql
docker run -p 3306:3306 --name mysql -v /data/mysql/logs:/logs -v /data/mysql/data:/var/lib/mysql -v /data/mysql/conf/mysql:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d --privileged=true mysql:5.7
重建mysql镜像
查看是否启用了bin-log
连接mysql 密码root
show variables like '%log_bin%'
如下图已经启动.
主机1ip 10.0.9.31(从)
从机进行一样的操作 需要注意的是修改server-id 与主mysql 不一致
接下来进行配置.配置
主mysql中执行
show master status
注意两个字段File 以及Position
得到以下sql,其中MASTER_HOST MASTER_USER MASTER_PASSWOR 是主数据库的ip,账号密码.
CHANGE MASTER TO
MASTER_HOST='10.0.9.31',
MASTER_USER='root',
MASTER_PASSWORD='root',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=154;
将sql放入到从mysql中执行
从上执行
CHANGE MASTER TO
MASTER_HOST='10.0.9.31',
MASTER_USER='root',
MASTER_PASSWORD='root',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=154;
start slave;
至此配置完成(主从)
在从上面查看状态