环境&版本
MySQL版本:5.7, 在官方镜像上自己调整了下后重新docker commit出来的镜像
docker commit a404c6c174a2 mine/mysql:v2docker run --name mysqlMaster1 -p 3307:3306 -e MYSQL_LOG_CONSOLE=true -e MYSQL_ROOT_PASSWORD=lagou123456 -d mine/mysql:v2docker run --name mysqlMaster2 -p 3308:3306 -e MYSQL_LOG_CONSOLE=true -e MYSQL_ROOT_PASSWORD=lagou123456 -d mine/mysql:v2docker run --name mysqlSlave1 -p 3309:3306 -e MYSQL_LOG_CONSOLE=true -e MYSQL_ROOT_PASSWORD=lagou123456 -d mine/mysql:v2docker run --name mysqlSlave2 -p 3310:3306 -e MYSQL_LOG_CONSOLE=true -e MYSQL_ROOT_PASSWORD=lagou123456 -d mine/mysql:v2docker run --name mysqlSlave3 -p 3311:3306 -e MYSQL_LOG_CONSOLE=true -e MYSQL_ROOT_PASSWORD=lagou123456 -d mine/mysql:v2docker run --name mysqlSlave4 -p 3312:3306 -e MYSQL_LOG_CONSOLE=true -e MYSQL_ROOT_PASSWORD=lagou123456 -d mine/mysql:v2
修改每一台的/etc/mysql/my.cnf(特别是server-id),重启
vim /etc/mysql/my.cnf[mysqld]log-bin=mysql-binserver-id=1docker restart mysqlMaster2
设置主从关系
mysql -uroot -plagou123456#mastercreate user 'repl'@'%' identified by 'lagou123456';grant REPLICATION SLAVE ON *.* TO 'repl'@'%' identified by 'lagou123456';flush privileges;#slaveCHANGE MASTER TO MASTER_HOST='172.17.0.5', MASTER_USER='repl',MASTER_PASSWORD='lagou123456',MASTER_LOG_FILE='mysql-bin.000004',MASTER_LOG_POS=834;start slave;show slave status \G;
应用相关
只需要配一下shardingjdbc的datasource就可以了,上层的orm框架可以随便选
