首页 > 数据库 >Mysql Docker

Mysql Docker

时间:2023-03-21 12:46:02浏览次数:32  
标签:bin Mysql cnf master mysql Docker root docker

Docker部署Mysql主从复制

在docker内部,mysql5.7 与mysql8.0 目录存放位置是不一样的

echo net.ipv4.ip_forward=1>>/etc/sysctl.conf
sysctl -p
service network restart
systemctl restart docker

mkdir mysql
mkdir mysql/master
mkdir mysql/slave1
mkdir mysql/slave2
vi mysql/master.cnf
[mysqld]
server-id = 1
log-bin=mysql-bin
binlog-ignore-db=mysql

vi mysql/slave1.cnf
[mysqld]
server-id = 2
log-bin=mysql-slave-bin
relay_log=edu-mysql-relay-bin
binlog-ignore-db=mysql
log_bin_trust_function_creators=true
slave_skip_errors=1062

cp mysql/slave1.cnf mysql/slave2.cnf
docker network create mysql_list

docker run --name master --net mysql_list -e MYSQL_ROOT_PASSWORD=000000 -p 3306:3306 \
-v /root/mysql/master:/var/lib/mysql \
-v /root/mysql/master.cnf:/etc/my.cnf \
-d mysql:5.7

docker run --name slave1 --net mysql_list -e MYSQL_ROOT_PASSWORD=000000 -p 3307:3306 \
-v /root/mysql/slave1:/var/lib/mysql \
-v /root/mysql/slave1.cnf:/etc/my.cnf \
-d mysql:5.7

docker run --name slave2 --net mysql_list -e MYSQL_ROOT_PASSWORD=000000 -p 3308:3306 \
-v /root/mysql/slave2:/var/lib/mysql \
-v /root/mysql/slave2.cnf:/etc/my.cnf \
-d mysql:5.7

docker exec -it master /bin/bash

mysql -uroot -p000000
 grant replication slave on *.* to 'root'@'%' identified by '000000';
flush privileges;
show master status;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '000000';
FLUSH PRIVILEGES;


docker exec -it slave1 /bin/bash
docker exec -it slave2 /bin/bash

mysql -uroot -p000000
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '000000';
FLUSH PRIVILEGES;
#"master_log_file"和"master_log_pos" 在master机上"show master status;"
change master to master_host='172.18.0.2',master_user='root',master_password='000000',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=154;

## 启动主从复制
start slave;
## 再查看主从同步状态
show slave status\G;
## 停止复制
stop slave;

标签:bin,Mysql,cnf,master,mysql,Docker,root,docker
From: https://www.cnblogs.com/createhm/p/16699865.html

相关文章

  • Linux篇-mysql + keepalived高可用
    1上次说过了mysql的主从配置tarzxfkeepalived-1.2.7.tar.gzcdkeepalived-1.2.7yuminstallgccgcc-c++yuminstallkernel-devel-y2报错configure:error:Popt......
  • 【云原生|实战入门】1:Docker、K8s简单实战与核心概念理解
    【云原生|实战入门】1:Docker、K8s简单实战与核心概念理解一:容器与镜像1、简单理解容器我们将通过操作系统管理进程这个例子来形象的理解容器的概念。当登录到操作进......
  • docker入门(利用docker部署web应用)
    docker入门(利用docker部署web应用)第一章什么是docker1.1docker的发展史2010年几个年轻人成立了一个做PAAS平台的公司dotCloud.起初公司发展的不错,不但拿到过一......
  • mysql5.7奇怪bug
          看这个查询很奇怪,1145就错,子查询返回多于 1 行。。。 1就对。1145跟1144都不行,1143可以。更新为0 ,是正常执行的    1145也只有一条......
  • [MySql] 数据库死锁的排查和相关知识
    查看数据库最近的一次死锁执行以下命令:showengineinnodbstatus;查询结果......------------------------LATESTDETECTEDDEADLOCK------------------------2......
  • docker bash: xxx : command not found
    1.现象:在容器内执行route命令会报错 bash:route:commandnotfound2.原因容器内没有安装route命令3.解决办法(1)bash: ip:commandnotfoundapt-getupdate&&a......
  • docker之bwapp漏洞测试环境搭建
    (1)dockersearchbwapp,(2)dockerpull镜像名称,(3)启动容器,(4)浏览器中访问http://本机ip:端口/login.php:会出现提示:(5)访问http://本机ip:端口/install.php做数据库初始化操作,(6)重新登......
  • MySQL——知识脑图
    摘要主要给大家几张的个人总结的有关于Mysql知识脑图,帮助大家更好的学习和记忆相关内容。 博文参考......
  • Mysql数据脱敏
    1、姓名脱敏updatetableset列=REPLACE(列,SUBSTR(列,2,1),'*')PS:脱敏效果:张*,张*三2、手机号脱敏UPDATEtableSET列=(CASEWHEN列ISNOTNULLTHENSUBSTR......
  • 力扣511(MySQL)-游戏玩法分析Ⅰ(简单)
    题目:活动表 Activity:写一条SQL 查询语句获取每位玩家 第一次登陆平台的日期。查询结果的格式如下所示:  解题思路:方法一:使用dense_rank()over(partitionby......