创建目录和配置文件
mkdir -p mysql_sharding/{mysql_3306/config,mysql_3307/config} \&& touch mysql_sharding/mysql_3306/config/my.cnf \&& touch mysql_sharding/mysql_3307/config/my.cnf \&& touch mysql_sharding/docker-compose.yml
编辑配置文件
mysql_3306/config/my.cnf
[mysqld]# 解决docker启动连接慢的问题skip-name-resolveserver-id=1port=3306default-storage-engine=INNODBcharacter_set_server=utf8init_connect='SET NAMES utf8'lower_case_table_names=1max_connections=200max_connect_errors=10# 开启二进制日志log-bin=mysql-binlog_bin-index=mysql-bin.indexlog_bin_trust_function_creators=ONbinlog-format=ROW# 设置自增起始偏移量auto_increment_offset=1# 设置自增步长auto_increment_increment=1# 开启慢查询日志slow_query_log=ON# 设置慢查询时间阈值long_query_time=1# 设置慢查询日志文件位置slow_query_log_file=/var/lib/mysql/slow_query.log
mysql_3307/config/my.cnf
[mysqld]# 解决docker启动连接慢的问题skip-name-resolveserver-id=2port=3307default-storage-engine=INNODBcharacter_set_server=utf8init_connect='SET NAMES utf8'lower_case_table_names=1max_connections=200max_connect_errors=10# 开启二进制日志log-bin=mysql-binlog_bin-index=mysql-bin.indexlog_bin_trust_function_creators=ONbinlog-format=ROW# 设置自增起始偏移量auto_increment_offset=1# 设置自增步长auto_increment_increment=1# 开启慢查询日志slow_query_log=ON# 设置慢查询时间阈值long_query_time=1# 设置慢查询日志文件位置slow_query_log_file=/var/lib/mysql/slow_query.log
mysql_master_slave/docker-compose.yml
version: '3'services:mysql_3306:image: mysql:8.0.21container_name: mysql_3306ports:- 3306:3306privileged: truevolumes:- ./mysql_3306/config:/etc/mysql/conf.d- ./mysql_3306/data:/var/lib/mysql- ./mysql_3306/logs:/var/log/mysqlenvironment:- MYSQL_ROOT_PASSWORD=root- MYSQL_USER=admin- MYSQL_PASSWORD=admin- TZ=Asia/Shanghaimysql_3307:image: mysql:8.0.21container_name: mysql_3307ports:- 3307:3307privileged: truevolumes:- ./mysql_3307/config:/etc/mysql/conf.d- ./mysql_3307/data:/var/lib/mysql- ./mysql_3307/logs:/var/log/mysqlenvironment:- MYSQL_ROOT_PASSWORD=root- MYSQL_USER=admin- MYSQL_PASSWORD=admin- TZ=Asia/Shanghainetworks:default:external:name: service_network
启动服务
docker-compose up -d
