| 本帖最后由 海星翻筋斗 于 2022-1-24 16:56 编辑 
 1.0 MySQL单机
 
 步骤一:拉取镜像
 
 [Shell] 纯文本查看 复制代码 docker pull mysql:5.7.24步骤二:启动容器
 
 [Shell] 纯文本查看 复制代码 docker run \
 -p 3306:3306 \
 --name mysql \
 -e MYSQL_ROOT_PASSWORD=123456 \
 -v $PWD/my_master.cnf:/etc/mysql/conf.d/my_master.cnf \
 -v $PWD/logs:/var/lib/mysql/logs \
 -v $PWD/data:/var/lib/mysql \
 -d \
 mysql:5.7.24
 参数说明:
 
 -p 3307:3306:将容器的 3306 端口映射到宿主机的 3307 端口。-v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
 
 2.0 MySQL一主多从
 
 2.1 主机启动
 步骤一:创建目录并进入目录
 
 [Shell] 纯文本查看 复制代码 mkdir -p /home/docker/mysql/master
cd /home/docker/mysql/master步骤二:创建主机配置文件
 
 [Shell] 纯文本查看 复制代码 vim my_master.cnf配置文件内容如下
 
 log-bin: [必须]启用二进制日志server-id [必须]服务器唯一ID(唯一即可)
 
 [Shell] 纯文本查看 复制代码 [mysqld]
skip-name-resolve
character_set_server=utf8
datadir=/var/lib/mysql
log-bin=mysql-bin
server-id=200步骤三:启动容器
 
 [Shell] 纯文本查看 复制代码 docker run \
 -p 3306:3306 \
 --name mysql_master \
 -e MYSQL_ROOT_PASSWORD=123456 \
 -v $PWD/my_master.cnf:/etc/mysql/conf.d/my_master.cnf \
 -v $PWD/logs:/var/lib/mysql/logs \
 -v $PWD/data:/var/lib/mysql \
 -d \
 mysql:5.7.24
 2.2 从机启动步骤一:创建并进入目录
 
 [Shell] 纯文本查看 复制代码 mkdir -p /home/docker/mysql/slave01
cd /home/docker/mysql/slave01步骤二:创建从机配置文件
 
 [Shell] 纯文本查看 复制代码 vim my_slave01.cnf
 
 配置文件内容如下 server-id [必须]服务器唯一ID(唯一即可)
 [Shell] 纯文本查看 复制代码 [mysqld]
skip-name-resolve
character_set_server=utf8
datadir=/var/lib/mysql
server-id=201步骤三:启动容器
 
 [Shell] 纯文本查看 复制代码 docker run \
 -p 3307:3306 \
 --name mysql_slave01 \
 -e MYSQL_ROOT_PASSWORD=123456 \
 -v $PWD/my_slave01.cnf:/etc/mysql/conf.d/my_slave01.cnf \
 -v $PWD/logs:/var/lib/mysql/logs \
 -v $PWD/data:/var/lib/mysql \
 -d \
 mysql:5.7.24
 2.3 主机配置步骤一:
 登录mysql,并执行如下指令,创建用户并授权:以下命令创建了一个 master 用户,密码 123456 用于进行主从复制;
 
 [SQL] 纯文本查看 复制代码 GRANT REPLICATION SLAVE ON *.* to 'master'@'%' identified by '123456';步骤二:
 执行下面SQL,记录下结果中**File**和**Position**的值
 
 [SQL] 纯文本查看 复制代码 show master status;得到如下结果
 
 | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |  | mysql-bin.000001 | 154 |  |  |  | 
 
 2.4 从机配置
 
 步骤一:登录mysql,设置与主机进行连接
 
 [SQL] 纯文本查看 复制代码 change master to master_host='127.0.0.1',master_port=3306,master_user='master',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=154;
start slave;步骤二:查看从机状态
 
 [SQL] 纯文本查看 复制代码 show slave status;看到 slave_io_running 和 slave_sql_running 都是 yes 证明主从服务期关联成功。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 |