进行Docker操作前,先建立目录,我的路径是d:/docker/mysql,目录结构如下:--mysql--master--data --conf--my.cnf --slaver--data --conf--my.cnf
1、主从配置文件
Master: my.cnf [mysqld]
server_id = 1
log-bin= mysql-bin
read-only=0
binlog-do-db=blogging
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema!includedir /etc...
‘2‘
services:
m1:
build: ./master
container_name: m1
volumes:
- /home/ssab/config/mysql-master/:/etc/mysql/:ro
- /etc/localtime:/etc/localtime:ro
- /home/ssab/config/hosts:/etc/hosts:ro
ports:
- "3309:3306"#暴露mysql的端口
networks:
mysql:
ipv4_address:172.18.0.2
ulimits:
nproc:65535
hostname: m1
mem_limit:1024m
re...
下载mysql
docker pull mysql:5.7
启动 mysql-master 和 mysql-slave
// mysql-master
docker run --name mysql-master --privileged=true -v /home/dev-soft/mysql/master/:/etc/mysql/conf.d -v /home/dev-soft/mysql/master/master-data:/var/lib/mysql -p 23306:3306 -e MYSQL_ROOT_PASSWORD=root -d docker.io/mysql:5.7// mysql-slave
docker run --name mysql-slave --privileged=true -v /home/dev-soft/mysql/slave:/etc/...
写在前边
搭建MySQL读写分离主从集群,这里未使用binlog方式,使用的是GTID方式
源码见我的Github https://github.com/hellxz/mysql-cluster-docker.git
主从目录结构
.
├── bin
│?? ├── add-slave-account-to-master.sh
│?? ├── reset-slave.sh
│?? ├── slave-replias-master-start.sh
│?? └── stop-replicas.sh
├── config
│?? ├── master.cnf
│?? └── slave.cnf
├── docker-compose.yml
├──...
docker run --name q_master -p 13306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest --character-set-server=utf8 --collation-server=utf8_general_ci
docker run --name q_slave -p 13307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest --character-set-server=utf8 --collation-server=utf8_general_ci
通过命令更改master和slave的配置文件
master:
slave配置:
更改配置文件通过 vi my.cnf,更改,进...
目录docker部署django项目1.1 基于python基础镜像将本地django项目打包并发到远程服务器上将服务器上的.zip django项目解压部署的具体流程1.2 基于dockerfile2 mysql主从搭建3 django实现读写分离
我们使用python镜像源构建的出的容器,是一个纯净的debian系统下的python环境,在容器内部要想安装vim、nginx等,就不能使用yum install ...了,需要使用apt-get源。首先更新apt-get源,使用apt-get update ,之后就可以使用apt-get i...
开始安装
参考文档:https://www.jianshu.com/p/3eb1e178f51b
(最后使用windows本地docker,wsl中代理,因为当前版本不支持,最新版本据说支持了,没有尝试过)
docker常用命令
docker exec -it ecMysql bash 进入容器
docker logs slave -f
docker images
docker ps -a
docker kill xx
docker rm xx
docker rmi REPOSITORY:TAG //删除镜像 REPOSITORY:TAG(或者镜像id)命令格式
docker ps -a | grep ‘Exited‘ | awk ‘{print $1...
拉取MySQL镜像
## 下载最新版本的MySQL镜像
docker pull mysql创建两个主从MySQL数据库容器
第一步,需要创建一个目录,用来存放与容器中配置文件对应的物理地址
目录结构如下:master my.cnf配置文件内容如下:[mysqld]
server_id = 1
log-bin= mysql-bin
read-only=0
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schemaslave my.cnf配置文件内容...
Docker mysql 主从配置
1、首先创建两个文件my-m.cnf(主库配置) 、my-s.cnf(从库配置) my-m.cnf 内容如下# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is dis...
一:Mysql基于Docker的主从复制搭建
1:安装docker,安装步骤可见我之前的文章:Docker-常用基建的安装与部署
docker ps 命令查询当前的容器状态,这就是我们最后要达到的效果。
2:首先拉取mysql官方镜像bash> docker pull mysql:5.7演示环境是在同一台服务器上部署。因为docker创建容器时默认采用bridge网络,会自行分配ip,不允许指定,重启容器会导致ip变更。
所以我们需要创建自定义的bridge网络,这样创建容器的时候才能指定...
环境
centos
192.168.1.10 (master)
192.168.1.11 (slave)主( master)
划分存储卷
lvcreate -L 200G -name lvdata vgdata
mkfs.xfs /dev/mapper/vgdata-lvmysql
mkdir /mysql
vim /etc/fstab
/dev/mapper/vgdata-lvmysql /mysql xfs defaults 0 0
mount -a初始化mysql主节点配置
$ docker pull local.harbor.io/library/mysql:5.7.22
$ mkdir /mysql/data /mysql/log /mysql/config #创建日志、配置文件、数据持久存储目录
...
拉取MySQL镜像
## 下载最新版本的MySQL镜像
docker pull mysql创建两个主从MySQL数据库容器
第一步,需要创建一个目录,用来存放与容器中配置文件对应的物理地址
目录结构如下:master my.cnf配置文件内容如下:[mysqld]
server_id = 1
log-bin= mysql-bin
read-only=0
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schemaslave my.cnf配置文件内容...
docker安装mysql主从
启动主库:
1.docker run --name master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.13
启动从库:
2.docker run --name slave -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.13
?--name 为容器指定名称,这里是master
-p 将容器的指定端口映射到主机的指定端口,这里是将容器的3306端口映射到主机的3306端口
-e 设置环境变量,这里是指定root账号的密码为root
-d 后台运行容器,并返回容...
一、搭建主从mysql环境
1 下载mysql镜像
docker pull mysql:5.7
2 运行刚下载的mysql镜像文件
# 运行该命令之前可以使用`docker images`是否下载成功docker run -p 3307:3306 --name mysql-master -v /mysql/conf:/etc/mysql/conf.d -v /mysql/logs:/logs -v /mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123 -itd mysql:5.7
上面的意思是将mysql在后台启动运行, 并且这个mysql是运行在宿主机3307端口上的,等会django连接...
写在前边
搭建MySQL读写分离主从集群,这里未使用binlog方式,使用的是GTID方式
源码见我的Github https://github.com/hellxz/mysql-cluster-docker.git
主从目录结构
.
├── bin
│?? ├── add-slave-account-to-master.sh
│?? ├── reset-slave.sh
│?? ├── slave-replias-master-start.sh
│?? └── stop-replicas.sh
├── config
│?? ├── master.cnf
│?? └── slave.cnf
├── docker-compose.yml
├──...