发布网友 发布时间:2024-09-27 04:44
共1个回答
热心网友 时间:2024-09-28 00:31
拉取最新的mysql镜像,如需指定版本,可按照“名称:版本”格式获取。默认为点赞最多版本。
下载完成后,检查mysql镜像是否成功拉取。
若得到以下结果,则表示镜像拉取成功。
二、运行mysql
启动mysql,执行成功后,会返回容器ID。
参数说明:
启动容器后,需要检查容器是否正常。
进入容器,注意162c46315c3d为当前容器ID。
执行以下SQL语句时,会出现如下错误:
在mysql工具中执行,会得到如下结果。
在实际mysql实例中执行,则得到如下结果。
造成这种差异是由于工具进行了链接优化,改成对应的编码格式,实际上还是latin1编码,所以导致插入中文报错。
以上方式启动的容器存在一个致命问题,即当容器挂了,数据会全部丢失。
2.2 mysql正式环境安装
运行如下指令。
检查mysql是否运行起来,运行如下指令。
看到如下结果,可以看出mysql问题无误。
进入/usr/local/mysql/conf(注:当前文件夹目录是映射卷的目录,千万别弄错了)目录下新建my.cnf文件,内容如下:
执行以下SQL语句,不会再出现2.1中的错误,且重启服务后数据没有丢失。
三、正式环境中运行mysql
3.1 安装master节点
运行如下指令。
查看容器是否起来。
进入/usr/local/mysql-master/conf(注:当前文件夹目录是映射卷的目录,千万别弄错了)目录下新建my.cnf文件,内容如下:
3.2 安装slave节点
运行如下指令。
查看容器是否起来。
进入/usr/local/mysql-slave/conf(注:当前文件夹目录是映射卷的目录,千万别弄错了)目录下新建my.cnf文件,内容如下:
3.3 主从配置
3.3.1 master节点配置
节点说明:slave -> 用户名 123456 -> 为用户密码
一定要记录File:mall-mysql-bin.000003、Position:154值
3.3.2 slave节点配置
配置参数说明
执行如下指令
通过如下看出Slave_IO_Running、Slave_SQL_Running结果为no
执行如下指令,开启主从
执行如下指令 show slave status \G; 通过如下看出Slave_IO_Running、Slave_SQL_Running结果为yes,说明主从开启成功
3.4 验证
如下图所示,说明主从配置无误。
以上就是docker部署主从mysql的全部过程。