環境:window10,docker desktop,docker image 是 mysql5.7
WSL2 僅適用於 Windows 10 版本 1903、內部版本 18362 或更高版本。
docker-desktop新版使用wsl2的Linux文件來提高文件性能了。下面的不適用新版本的docker-desktop了
步驟:
1、在E盤創建目錄如下:
存放配置文件
E:/Docker/mysql-master/conf
存放日志文件
E:/Docker/mysql-master/logs
存放數據庫文件
E:/Docker/mysql-master/data
2、cmd命令窗口下錄入
docker pull mysql:5.7
docker run -p 3306:3306 --name mysql-master -v /E/Docker/mysql-master/conf:/etc/mysql/conf.d -v /E/Docker/mysql-master/logs:/var/log/mysql -v /E/Docker/mysql-master/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
3、創建E:/Docker/mysql-master/conf/my.cnf內容如下
#mysqld [mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_general_ci #表名字大小寫是否敏感,1表示不敏感 lower_case_table_names = 1 #最大連接數 max_connections = 500 #最大錯誤連接數 max_connect_errors = 1000 ############################主從復制設置##################################### server-id=10 #開啟mysql binlog功能 log-bin=mysql-bin #binlog記錄內容的方式,記錄被操作的每一行 binlog_format = ROW #對於binlog_format = ROW模式時,減少記錄日志的內容,只記錄受影響的列 binlog_row_image = minimal #master status and connection information輸出到表mysql.slave_master_info中 master_info_repository = TABLE #the slave‘s position in the relay logs輸出到表mysql.slave_relay_log_info中 relay_log_info_repository = TABLE #作為從庫時生效,想進行級聯復制,則需要此參數 log_slave_updates #作為從庫時生效,中繼日志relay-log可以自我修復 relay_log_recovery = 1 #作為從庫時生效,主從復制時忽略的錯誤 slave_skip_errors = ddl_exist_errors [mysql] default-character-set = utf8mb4 [mysqld_safe] default-character-set = utf8mb4 [client] default-character-set = utf8mb4
啟動后查看發現cnf文件生效