环境配置本地操作系统:Win10 虚拟机的操作系统:CentOS Stream 8 已安装docker,可以参考详细安装教程
MySQL基础知识搭建MySQL主从双备是在docker情况下自定义MySQL的配置文件,在上一节我们讲述了如何挂载docker的MySQL数据文件,其中run指令参数-v /home/mysql/conf:/etc/mysql/conf.d是挂载MySQL的配置文件。 当我们通过指令进入docker内部查看MySQL配置文件的时候,发现/etc/mysql/conf.d只是一个文件夹,同目录情况下分别有配置文件my.cnf和my.cnf.fallback,如图所示 
在MySQL中,/etc/mysql/my.cnf 是默认配置文件,/etc/conf.d/ 下的文件为自定义配置文件,比如 /etc/mysql/conf.d/my.cnf 文件。 由于docker的/etc/mysql/conf.d文件挂载到本地系统的/home/mysql/conf,因此我们只需在本地系统的/home/mysql/conf写入配置文件即可修改docker的MySQL配置。
搭建主MySQL由于docker的mysql默认使用/etc/mysql/my.cnf的配置文件,如果要自定义配置文件,需要进入docker的MySQL获取默认配置文件/etc/mysql/my.cnf的配置信息,然后在本地系统的/home/mysql/conf编写配置文件。 假设主MySQL的容器名称为mysql10 ,docker启动指令如下: docker run --name mysql10 -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234 -d mysql 进入docker获取MySQL默认配置信息方法如下: # 进入容器,mysql10 是容器名称docker exec -it mysql10 bash# 查看MySQL默认配置文件cat /etc/mysql/my.cnf 上述指令执行结果如图所示 
将上图的配置信息写入本地系统的自定义配置文件/home/mysql/conf/mysql.cnf,并添加属性log-bin和server-id [mysqld]pid-file=/var/run/mysqld/mysqld.pidsocket=/var/run/mysqld/mysqld.sockdatadir=/var/lib/mysqlsecure-file-priv= NULL# 开启二进制日志,属性值mysql-bin 是日志的基本名或前缀名log-bin=mysql-bin# server-id可随便设置,但必须保证是唯一,数值为1到2的32次方 下载地址: docker 利用Docker搭建Nexus私有仓库实现Maven私服 |