首页 > 其他分享 >docker复杂安装

docker复杂安装

时间:2023-01-02 14:56:28浏览次数:33  
标签:slave log 复杂 ## 数据库 master mysql docker 安装

安装mysql主从复制

1、新建主服务器容器实例3307

docker run -d -p 3307:3306 --name mysql-master <br />-v /mydata/mysql-master/log:/var/log/mysql <br />-v /mydata/mysql-master/data:/var/lib/mysql <br />-v /mydata/mysql-master/conf:/etc/mysql <br />-e MYSQL_ROOT_PASSWORD=123456 <br />-d mysql:5.7

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 -p

5、maser容器实例内创建数据同步用户

#建立了一个用户
CREATE USER 'SLAVE'@'%' IDENTIFIED BY '123456';

#给这个用户授权
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON . TO 'SLAVE'@'%';

6、新建从服务器容器实例3308

docker run -d -p 3308:3306 --name mysql-slave <br />-v /mydata/mysql-slave/log:/var/log/mysql <br />-v /mydata/mysql-slave/data:/var/lib/mysql <br />-v /mydata/mysql-slave/conf:/etc/mysql <br />-e MYSQL_ROOT_PASSWORD=123456 <br />-d mysql:5.7

7、进入/mydata/mysql-slave/conf目录下新建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 -p

11、在从数据库中配置主从配置

change master to master_host='宿主机ip地址', master_user='slave', master_password='123456', master_port=3307, master_log_file='mall-mysql-bin.000001', master_log_pos=154, master_connect_retry=30;

  • 主从复制命令参数说明
  • master_host:主数据库的IP地址;
  • master_port:主数据库的运行端口;
  • master_user:在主数据库创建的用于同步数据的用户账号;
  • master_password:在主数据库创建的用于同步数据的用户密码;
  • master_log_file:指定从数据库要复制数据的日志文件,通过查看主数据的状态,获取File参数;
  • master_log_pos:指定从数据库从哪个位置开始复制数据,通过查看主数据的状态,获取Position参数;
  • master_connect_retry:连接失败重试的时间间隔,单位为秒。

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

show slave status \G;

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

start slave;

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

show slave status \G;

15、主从复制测试

标签:slave,log,复杂,##,数据库,master,mysql,docker,安装
From: https://www.cnblogs.com/tanhongwei/p/17019893.html

相关文章

  • 使用yum安装jenkins启动时候报错
    环境说明centos7jenkins 2.374-1.1maven3.6.0Java1.8.0_181报错说明Oct2500:37:58localhostsystemd:FailedtostartJenkinsContinuousIntegrationServer.Oct2......
  • Window系统下jdk安装以及环境变量配置
    本文主要记录一些在window系统下安装jdk的步骤,所用的系统是win10,jdk版本为jdk-8u181-windows-x64一.JDK和JRE安装1.首先到Oracle官网下载jdk,我这里选择的是64位window......
  • 数据结构 玩转数据结构 7-8 映射的复杂度分析和更多映射相关问题
    0课程地址https://coding.imooc.com/lesson/207.html#mid=13710 1重点关注1.1结论使用二叉树实现集合Set性能优于使用链表实现集合Set. ......
  • 安装IntelliJ IDEA
    1.双击打开ideaIU-2021.2.3.exe下一步,下一步,下一步   安装完成后,选择Lincenseserver,粘贴域名http://81.68.147.56:8163,操作进入   操作新建项目  ......
  • docker安装软件
    1、先在hub.docker.com上搜索是否有容器2、复制拉取代码3、tomcat1、dockerpulltomcat2、dockerrun-d-p8080:8080--namet1tomcat3、dockerexec-it【tomcat的容......
  • Hbase小白快速安装
    准备:1.jdk/opt/rdx/jdk#jdk放置路径复制代码2.用户创建groupaddhbaseuseraddhbase-ghbase复制代码3.防火墙关掉systemctlstopfirewalld复制代码4.下载包http://......
  • 使用docker启动frp内网穿透
    frp是内网穿透工具,客户端和服务端分别为frpc和frps,frpc安装在本地机器、frps安装在拥有公网IP的机器中。本文主要介绍如何使用docker分别运行frpc和frps。优点:配置文件(包......
  • Docker私有仓库
    1、下载镜像:dockerpullregistry2、运行私有库:dockerrun-d-p5000:5000-v/[宿主机绝对路径目录]/......
  • 安装maven(Maven 下载地址:http://maven.apache.org/download.cgi)
    1.解压apache-maven-3.2.5文件(bin需在下一级目录)2.进入环境变量:打开-此电脑-右键属性-高级系统设置-环境变量   3.新增用户变量:新建MAVEN_HOME变量变量名;MAVEN_......
  • 使用 Helm 安装 MQTT 服务器-EMQX
    EMQXℹ️Info:使用EMQX通过Helm3在Kubernetes上部署EMQX4.0集群|EMQemqx/deploy/charts/emqxatmain-v4.4·emqx/emqx(github.com)emqx/values.yamlat......