栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

centos7.7通过Docker配置Mysql 5.7.36集群

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

centos7.7通过Docker配置Mysql 5.7.36集群

1、获取MYSQL镜像

docker pull mysql:5.7

2、构建运行MYSQL -- 主数据库
docker run -d --privileged=true -p 3310:3306 -v /home/mysql/config/mysqld.cnf:/etc/mysql/mysql.conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=yy123456 --name masql  mysql:5.7

-- 从数据库
docker run -d --privileged=true -p 3311:3306 -v /home/mysql2/config/mysqld.cnf:/etc/mysql/mysql.conf.d -v /home/mysql2/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=yy123456 --name slsql  mysql:5.7

备注:

【/home/mysql/config/mysqld.cnf:/etc/mysql/mysql.conf.d -v /home/mysql/data:/var/lib/mysql】

将MYSQL主从的配置文件和数据文件挂载到宿主机上

3、配置mysqld.cnf

-- 将mysqld.cnf复制到/home/mysql/config/mysqld.cnf和/home/mysql2/config/mysqld.cnf

mysqld.cnf(主)

# Copyright (c) 2014, 2021, Oracle and/or its affiliates.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, version 2.0,
# as published by the Free Software Foundation.
#
# This program is also distributed with certain software (including
# but not limited to OpenSSL) that is licensed under separate terms,
# as designated in a particular file or component or in included license
# documentation.  The authors of MySQL hereby grant you an additional
# permission to link the program and your derivative works with the
# separately licensed software that they have included with MySQL.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License, version 2.0, for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA

#
# The MySQL  Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

[mysqld]
server-id=100

#启动二进制日期
log-bin=mysql-bin

#要同步的数据库
binlog-do-db=test_db

#设置不要复制的数据库
binlog-ignore-db=mysql

#设置binlog的格式
#可选值为statement、row、mix
# statement 会记录每条执行SQL
#row 记录什么数据被修改成什么样子
# mix以上两种模式的混合使用,
binlog_format=mixed

pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
datadir		= /var/lib/mysql
#log-error	= /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address	= 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

mysqld.cnf(从)

# Copyright (c) 2014, 2021, Oracle and/or its affiliates.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, version 2.0,
# as published by the Free Software Foundation.
#
# This program is also distributed with certain software (including
# but not limited to OpenSSL) that is licensed under separate terms,
# as designated in a particular file or component or in included license
# documentation.  The authors of MySQL hereby grant you an additional
# permission to link the program and your derivative works with the
# separately licensed software that they have included with MySQL.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License, version 2.0, for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA

#
# The MySQL  Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

[mysqld]
#服务器唯一id
server-id=110
#开启二进制日志功能
log-bin=mysql-slave-bin
#启动中继日志
relay-log=mysql-relay
#设置不要复制的数据库
binlog-ignore-db=mysql
#如果需要同步函数或过程
log_bin_trust_function_creators=true
#主从复制格式
binlog_format=mixed
#跳过主从复制中遇到错误或指定错误,避免slave中断
#如1062错误是主键重复,1032主从数据库不一致
slave_skip_errors=1062

pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
datadir		= /var/lib/mysql
#log-error	= /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address	= 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

4、查看容器IP
docker inspect 72e5b20c5e0b | grep IPAddress

5、在主库上创建SCHEMA
create schema test_db default character set utf8 collate utf8_general_ci; -- 创建数据库

grant select,insert,update,delete,create on test_db.* to root; -- 用户授权数据库

6、创建从库同步账号
-- 创建用户并授权:用户:test密码:123456,ip修改为从的ip

CREATE USER 'slave'@'172.17.0.3' identified by 'yy123456';

-- 分配中权限

GRANT REPLICATION SLAVE ON *.* TO 'slave'@'172.17.0.3';

flush privileges;

8、从库上设置同步账号,服务器,同步开始位置
change master to master_host='172.17.0.2', master_user='slave', master_password='123456', master_log_file='mysql-bin.000001', master_log_pos=3069;

9、开启主从复制
start slave;

10、查看从服务器复制状态
show slave statusG

扩展:安装容器VIM命令

-- 安装VIM

apt-get  update 

apt-get install vim

--查看文件

cat file

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/836676.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号