• 欢迎访问安全专题网站,安全专题信息,安全专题教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入安全专题 QQ群7652650
  • 安全专题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏安全专题吧

基于Alpine的Docker镜像快速搭建MySQL主从

安全运维 aqzt 7个月前 (04-25) 642次浏览

Alpine Linux Docker 镜像基于 Alpine Linux 操作系统,后者是一个面向安全的轻型 Linux 发行版。不同于通常 Linux 发行版,Alpine Linux 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗。在保持瘦身的同时,Alpine Linux 还提供了自己的包管理工具 apk,可以在其网站上查询,或者直接通过 apk 命令查询和安装。

Alpine Linux Docker 镜像也继承了 Alpine Linux 发行版的这些优势。相比于其他 Docker 镜像,它的容量非常小,仅仅只有 5M,且拥有非常友好的包管理器。

master 主数据库配置文件 my.cnf
https://github.com/ppabc/lanmp-alpine/blob/master/mysql5/my.cnf

编写 Dockerfile
https://github.com/ppabc/lanmp-alpine/blob/master/mysql5/Dockerfile

构建 docker 镜像
docker build –tag lanmp-alpine:mysql -f Dockerfile .

创建 MYSQL master 容器
docker run –name mysql-master1 -p 3316:3306 -v /data1:/data -d ppabc/lanmp-alpine:mysql

登陆到主数据库容器,查看 master 状态
docker exec -it mysql-master1 sh

主数据库创建用户
SET sql_mode=(SELECT REPLACE(@@sql_mode,’ONLY_FULL_GROUP_BY’,”));
GRANT REPLICATION SLAVE ON *.* to ‘backup’@’%’ identified by ‘mysql_master’;

备份主数据库数据
mysqldump -u root -h 127.0.0.1 -p –flush-logs –master-data=2 –single-transaction –routines –triggers –events –all-databases > /root/slave11.sql

slave 从数据库
创建方式与 master 方式类似

新增 mysql 配置文件 mysql-slave.cnf
https://github.com/ppabc/lanmp-alpine/blob/master/mysql_slave/my.cnf

编写 Dockerfile
https://github.com/ppabc/lanmp-alpine/blob/master/mysql_slave/Dockerfile

创建 MYSQL slave 容器
docker run –name mysql-master2 -p 3326:3306 -v /data2:/data -d ppabc/lanmp-alpine:slave

登陆到主数据库容器,查看 master 状态
docker exec -it mysql-master2 sh

master_user 是在主库创建的用户
master_log_pos 是主库 show master status;查询出的 Position

登陆从数据库,设置相关参数
SET sql_mode=(SELECT REPLACE(@@sql_mode,’ONLY_FULL_GROUP_BY’,”));
change master to master_host=’172.17.0.2′,master_user=’backup’,master_password=’mysql_master’,master_log_file=’mysql-bin.000005′,master_log_pos=515;

启动服务
start slave;
查看服务状态
show slave status;
显示
Waiting for master to send event
说明主从成功了。

docker 镜像地址 https://hub.docker.com/r/ppabc/lanmp-alpine/
github 地址 https://github.com/ppabc/lanmp-alpine

 


Selinux 中国 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:基于 Alpine 的 Docker 镜像快速搭建 MySQL 主从
喜欢 (1)