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.新建主服务器容器实例3307

?

?--privileged=true

docker run -p 3307:3306 --name mysql-master?\
-v /mytest-docker/mydata/mysql-master?/log:/var/log/mysql \
-v /mytest-docker/mydata/mysql-master?/data:/var/lib/mysql \
-v /mytest-docker/mydata/mysql-master?/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root ?\
-d mysql:5.7? ? ?

-v 挂在本地容器卷???

2.进入/mydata/mysql-master/conf目录下新建my.cnf

[mysqld]
## 设置server_id,同一局域网中需要唯一
server_id=101 
## 指定不需要同步的数据库名称
binlog-ignore-db=mysql  
## 开启二进制日志功能
log-bin=mall-mysql-bin  
## 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M  
## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed  
## 二进制日志过期清理时间。默认值为0,表示不自动清理。
expire_logs_days=7  
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062

3.修改完配置后重启master实例

? ? ? docker restart mysql-master

4.进入mysql-master容器

? ? ?docker exec -it mysql-master /bin/bash

? ? ?mysql -uroot -proot

(这里如果登录不进去,在my.cnf 配置文件 加入跳过检查?

? ? [mysqld]

?skip-grant-tables? 进入之后 使用mysql 库,修改密码set password for ‘root’@‘localhost’=password(‘Admin123@qwe’);如果报:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement??输入:flush privileges;??再次输入:set password for ‘root’@‘localhost’=password(‘Admin123@qwe’);??

退出:exit??再把my.ini的skip-grant-tables删除或者注释掉??重启MySQL

5.master容器实例内创建数据同步用户

CREATE USER 'slave'@'%' IDENTIFIED BY 'wzf001115';

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

6.新建从服务器容器实例3308 (从服务)

docker run -p 3308:3306 --name mysql-slave \
-v /mytest-docker/mydata/mysql-slave/log:/var/log/mysql \
-v /mytest-docker/mydata/mysql-slave/data:/var/lib/mysql \
-v /mytest-docker/mydata/mysql-slave/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root ?\
-d mysql:5.7

7.进入/mytest-docker/mydata/mysql-slave/conf目录下新建my.cnf

? ? ? ? ?vim my.cnf

[mysqld]
## 设置server_id,同一局域网中需要唯一
server_id=102
## 指定不需要同步的数据库名称
binlog-ignore-db=mysql  
## 开启二进制日志功能,以备Slave作为其它数据库实例的Master时使用
log-bin=mall-mysql-slave1-bin  
## 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M  
## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed  
## 二进制日志过期清理时间。默认值为0,表示不自动清理。
expire_logs_days=7  
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062  
## relay_log配置中继日志
relay_log=mall-mysql-relay-bin  
## log_slave_updates表示slave将复制事件写进自己的二进制日志
log_slave_updates=1  
## slave设置为只读(具有super权限的用户除外)
read_only=1

8.修改完配置后重启slave实例

? ? ? ?docker restart mysql-slave

9.在主数据库中查看主从同步状态

? ? ? ?show master status;

10.进入mysql-slave容器

? ? ?docker exec -it mysql-slave /bin/bash

? ? ?mysql -uroot -proot

11.在从数据库中配置主从复制(重要的)

change master to master_host='宿主机ip', master_user='slave', master_password='wzf001115', master_port=3307, master_log_file='mall-mysql-bin.000006', master_log_pos=617, master_connect_retry=30;

12.在从数据库中查看主从同步状态

? ? show slave status \G;

13.在从数据库中开启主从同步

14.查看从数据库状态发现已经同步

?15.主从复制测试

主机新建库-使用库-新建表-插入数据,ok

从机使用库-查看记录,ok

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-30 08:47:05  更:2022-04-30 08:47:17 
 
开发: 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/24 0:49:28-

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