标签:方式 镜像 -name 安装centos mamicode 名称 数据 二进制日志 load
在生产环境中,数据库的查询请求压力较大的时候,通常需要采取数据库主从模式,读写分离的方式来提高数据库查询效率,本文就教大家如何搭建Mysql主从服务器配置
为了模拟生产环境,本文教程采取docker容器的方式安装mysql,搭建Mysql主从服务
docker安装教程请参照另一篇博文(内含docker安装mysql容器教程) 物理机安装Centos系统
#拉取最新mysql镜像
docker pull mysql
2.安装主从Mysql(master和slave)
#为了在物理机里面能够方便的修改mysql配置文件my.cnf,特将容器内my.cnf映射到物理机目录中
#创建目录mysql_01和mysql_02,子级目录都是如下,并提前准备my.cnf文件放置于conf目录内
├── conf
│ └── my.cnf
└── data
#创建Mysql 主(master)服务器容器,命名为mysql_01
docker run -itd --name mysql_01 -p 33061:3306 -v /home/data/docker/mysql_01/data:/var/lib/mysql -v /home/data/docker/mysql_01/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:latest
#mysql_01容器内的IP:172.17.0.4
#mysql_01容器内的Mysql服务器端口:3306
#创建Mysql 从(slave)服务器容器
#Mysql 从服务器(slave)安装方式与master一致,命名为mysql_02
docker run -itd --name mysql_02 -p 33061:3306 -v /home/data/docker/mysql_02/data:/var/lib/mysql -v /home/data/docker/mysql_02/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:latest
#mysql_02容器内的IP:172.17.0.5
#mysql_02容器内的Mysql服务器端口:3306
3.配置master主服务器
编辑my.cnf文件 vim /home/data/docker/mysql_01/conf/my.cnf
添加内容至[mysqld]结点内,如下
#二进制文件名称
log-bin=master-bin
#二进制日志格式,有row、statement、mixed三种格式,row指的是把改变的内容复制过去,而不是把命令在从服务器上执行一遍,statement指的是在主服务器上执行的SQL语句,在从服务器上执行同样的语句。MySQL默认采用基于语句的复制,效率比较高。mixed指的是默认采用基于语句的复制,一旦发现基于语句的无法精确的复制时,就会采用基于行的复制。
binlog-format=ROW
#要求各个服务器的id必须不一样
server-id=1
#同步的数据库名称(可心设置多个,添加多行 binlog-do-db=db_name)
binlog-do-db=am
# 不需要同步的数据库
binlog_ignore_db=information_schema
binlog_ignore_db=mysql
binlog_ignore_db=performance_schema
binlog_ignore_db=test
标签:方式 镜像 -name 安装centos mamicode 名称 数据 二进制日志 load
原文地址:https://www.cnblogs.com/yanchuanbin/p/14815209.html