IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> docker上搭建mysql主从复制 -> 正文阅读

[系统运维]docker上搭建mysql主从复制

1.安装docker

详细步骤链接: https://www.cnblogs.com/yufeng218/p/8370670.html.

2.安装mysql,33061的mysql作为主机,33062的mysql作为从机

2.1 主机,如果没有pull过mysql镜像,执行如下命令也会去拉取mysql的镜像

docker run --name some-mysql1 -p 33061:3306  -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

2.2 从机

docker run --name some-mysql2 -p 33062:3306  -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

2.3 查看正在运行的容器

docker ps
在这里插入图片描述

2.4 用本地navicat连接dokcer上的mysql

在这里插入图片描述

2.5 如果用navicat连不上mysql可以参考以下地址

链接1: https://blog.csdn.net/qq_38684778/article/details/107230725?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-8.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-8.no_search_link.

3. 在主机some-mysql1建一个用户

grant replication slave on *.* to ‘usr1’@’%’ identified by ‘123’;
在这里插入图片描述

4. 主机some-mysql1的配置

4.1 进入mysql容器

docker exec -it some-mysql1 bash
在这里插入图片描述

4.2 查看mysql配置文件

cat /etc/mysql//mysql.conf.d/mysqld.cnf
在这里插入图片描述

4.3 把原来的mysql配置文件的内容拷贝出来

# 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]
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.3 退出,然后新建一个mysqld.cnf文件,把刚才的内容拷贝进来,开启二进制功能,Esc+:wq保存退出

在这里插入图片描述
在这里插入图片描述

4.4 把新建的mysqld.cnf文件替换掉原来的mysql配置文件,并且重启mysql

docker cp ./mysqld.cnf some-mysql1:etc/mysql/mysql.conf.d/
docker restart some-mysql1
在这里插入图片描述

4.5 使用show master status命令查看主机是否开启了二进制功能,记住File和Position这两参数

在这里插入图片描述

4. 从机some-mysql2的配置

4.1 进入到从机

docker exec -it some-mysql2 bash
在这里插入图片描述

4.2 查看从机的配置文件,拷贝内容出来

cat /etc/mysql//mysql.conf.d/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]
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.3 删除掉刚才创建的mysqld.cnf文件

在这里插入图片描述

4.4 新建mysqld.cnf文件,把刚才的内容拷贝进来,加上server-id,保存退出

在这里插入图片描述
在这里插入图片描述

4.5 将新建的mysqld.cnf替换掉从机的配置文件,并且重启从机

docker cp ./mysqld.cnf some-mysql2:etc/mysql/mysql.conf.d/
docker restart some-mysql2
在这里插入图片描述

4.6 登录进入到从机

在这里插入图片描述

4.7 指定主机,开启同步

change master to master_host='192.168.244.129',master_port=33061,master_user='usr1',master_password='123',master_log_file='binlog.000001',master_log_pos=154;

在这里插入图片描述

4.8 使用show slave status\G;命令查看同步配置是否成功

在这里插入图片描述

5. 测试

5.1 在主机some-mysql1创建一个数据库和一个user表

在这里插入图片描述

5.2 可以看到从机some-mysql2也跟着创建了demo1数据库和user表

在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-30 12:19:58  更:2021-09-30 12:22:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:32:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码