一.使用Docker创建容器

docker run 创建容器

--name 容器名称

--restart 重启策略

-p 端口映射

-e 设置环境变量

-d 后台运行容器,并打印ID

#创建主机
docker run --name MySQL-Master --restart always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
#创建三台从机docker run --name MySQL-Slave01 --restart always -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
docker run --name MySQL-Slave02 --restart always -p 3308:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
docker run --name MySQL-Slave03 --restart always -p 3309:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql

二.进入容器,修改配置文件

之前用OpenEuler做练习的的时候mysql的配置文件在/etc/mysql/my.cnf,这次用的CentOS,配置文件在/etc/my.cnf

1.进入主机

 docker exec -it MySQL-Master bash

2.进入mysql,查看server_id

#进入Mysql
mysql -uroot -proot
#查看server_id
show variables like 'server_id';

结果如下,记下主机server_id的值,修改从机的server_id,注意不能冲突(相同)

3.修改从机的server_id

#进入从机
docker exec -it MySQL-Slave01 bash
#查看配置文件
cat /etc/my.cnf -n

注意,添加server_id时不能写在[client]下方 ,否则会报unknown variable 'server_id=n'(你修改的id是多少,n就是多少)

添加server_id到31行,其他两个从机步骤一致

sed -i '31i server_id=2' /etc/my.cnf

4.退出容器,并重启从机

#退出容器
exit
#重启容器
docker restart MySQL-Slave01
#进入容器
docker exec -it MySQL-Slave01 bash
#进入mysql
mysql -uroot -proot
#查看server_id是否生效
show variables like 'server_id';

三.跟踪主机日志

1.查看主机的position和binlog

show master status;

结果如下

2.在从机端执行

#在从机端配置主机端口,ip,用户名,密码,binlog,position
change master to
master_port=3306,
master_user='root',
master_password='root',
master_host='1.116.211.121',
master_log_file='binlog.000002',
master_log_pos=157,
get_master_public_key=1;

3.从机端开启主从

start slave;

4.查看是否成功

show slave status \G;

当 Slave_IO_Running,Slave_SQL_Running:都是Yes时,主从配置成功

5.如果出现以下状况

解决办法:关闭防火墙

#查看防火墙状态
systemctl status firewalld
#关闭防火墙
systemctl disable firewalld

这里我发现我的防火墙本来就是关的

找了半天,发现云服务上有个防火墙,拦截了请求

记录一下在云服务器上配置MYSQL主从。相关推荐

  1. 如何在阿里云服务器上搭建mysql服务(最新版)

    如何在阿里云服务器上搭建mysql服务(最新版) 准备 安装mysql服务 配置YUM源 启动mysql服务 修改root密码 修改密码策略 添加远程登录用户 注意: 1.关闭防火墙 2.在阿里云服务 ...

  2. 腾讯云安装mysql本地主机名,腾讯云服务器上安装mysql,并用navicat连接

    腾讯云服务器上安装mysql,并用navicat连接 本文标签: 服务器安全 服务器被攻击 高防防火墙 数据库 腾讯云服务器上安装mysql,并用navicat连接, 1.用xshll连接腾讯云 用f ...

  3. navicat mysql 百度云_转载:用navicat连接百度云服务器上的mysql数据库

    原文连接:http://blog.sciencenet.cn/home.php?mod=space&uid=853805&do=blog&quickforward=1& ...

  4. 在阿里云服务器上配置端口步骤

    在阿里云服务器上配置端口步骤 第一步:点击[云服务器ECS],进入该服务器信息界面. 第二步:点击[云服务器],如下图: 第三步:进入[云服务器]页面可看到[实例]页面上会有实力列表,点击列表上的[管 ...

  5. 使用Navicat连接SSH百度云服务器上的MySQL

    使用Navicat连接SSH百度云服务器上的MySQL 两个步骤: 1.新建连接,主机名随便写,主机:127.0.0.1或localhost,端口:3306(默认端口,如果服务器上更改过则改成对应的端 ...

  6. 远程连接华为云服务器上的MySQL

    1.给云服务器设置安全策略 登录华为云-->打开控制台-->进入安全组-->创建新的安全组-->点击配置规则-->修改其中现有的一条规则或新建一条规则-->选择My ...

  7. 10038错误,无法连接上阿里云服务器上的MySQL

    这个错误,网上说的很多,基本上说的都是服务器端口没有开放的原因,我也到阿里云服务器上设置过,发现并不是这个的原因,附上解决方法: 配置安全组规则即可 错误是:2003 can't connect to ...

  8. 云服务如何搭建数据库_【MySQL8.0.18】阿里云服务器上搭建MySQL数据库

    要想搭建个人博客,云服务器和数据库是少不了的.笔者选择在阿里云服务器上搭建一个MySQL数据库. 系统选用CentOS8.0,MySQL数据库版本8.0.18 一.数据库压缩包选择及下载 登录MySQ ...

  9. 关于本地mysql客户端如何连接阿里云服务器上的MySQL数据库

    前言 用 SSH客户端登录上以后,自己想要在本地连接服务器上的mysql服务器. 解决方法 1.首先启动数据库 [root@iZm5ec880z2rorZ ~]# service mysqld sta ...

最新文章

  1. TypeError: Caught TypeError in DataLoader worker process 0.
  2. 从不同视角筛选数据:可视化之前最关键的工作
  3. python需要音语基础_英语基础一般,如何才能学习C语言编程和Python
  4. 高并发下缓存与数据库双写不一致解决方案
  5. python下载教程pdf-Python教程PDF合集下载
  6. Airbnb欺诈预测机器学习模型设计:准确率和召回率的故事
  7. Linux中查看正在使用的端口并强制删除占用端口
  8. 完全卸载sql2005(试了以后很成功,收录下来,分享给大家)
  9. linux下源码安装cmake
  10. oracle rac ora 12560,rac ORA-12541: TNS:no listener问题 非常急!!
  11. C#和C++结构体Socket通信
  12. naked 函数调用
  13. 用gambit学博弈论--完全信息动态博弈-博弈扩展式、博弈树(二)
  14. Windows All 系统下载
  15. Spring Cloud Bus 使用说明
  16. 如何使用AutoCAD软件截图?
  17. mysql忘记root密码拯救方法(flush privileges)
  18. Java中角度和弧度的转换,三角函数,反三角函数
  19. C# EXCEL 删除行
  20. chdir(chdir函数python)

热门文章

  1. redhat oracle 12c 安装图解,RedHat 7 静默安装Oracle 12c
  2. 分享 | 带来全新交互体验的『支付宝AR』技术大解密
  3. PHP 一一 微信公众号开发(二次开发)
  4. 怎么获取计算机用户权限,Windows7怎么获取administrator权限?
  5. 崩坏3服务器维护2月8号,《崩坏3》2月8日更新内容 符华月轮正式上线
  6. 深藏不漏!.cc域名接连高价成交!最高突破6位数!
  7. 解决 unity vs2017编辑器 全范围脚本报错 : predefined type 'system.object' is not defined or imported
  8. 为什么你还没有买新能源汽车?
  9. 数据分析软件Excel,Origin, Matlab,Mathmatica和Maple
  10. 绘图神器draw.io(写文必备)