docker集群部署主从mysql

搭建一个mysql集群,1主2从,使用docker容器

一、创建docker的mysql镜像

下次补上,因为现在很多网络不能直接pull,操作下次补上。

二、创建mysql容器

创建容器1

docker run -it -d --name mysql_1 -p 7001:3306 --net mynet --ip 172.18.0.2 -m 400m -v /root/mysql_1/data:/var/lib/mysql -v /root/mysql_1/config:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=abc123456 -e TZ=Asia/Shanghai --privileged=true mysql:5.7 --lower_case_table_names=1

执行成功后,

查看:docker ps -a

说明部署成功了,先暂停这个容器:docker stop mysql_1

接着在/root/mysql_1/config/下创建my.cnf

[mysqld]
character_set_server=utf8
server_id=1
log_bin=mysql_bin
relay_log=relay_bin
log-slave-updates=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

重新启动mysql_1容器:docker start mysql_1

进入容器,docker exec -it mysql_1 bash

添加数据库账号与设置权限

mysql -uroot -pabc123456

添加一个账号为sync,密码为:abc123456的有同步数据权限的账号,这个步骤参考以下方法。如果能用navicat连接上这个数据库,也可以用工具直接创建这个账号与赋权限,个人测试的直接授所有权限。


mysql 创建用户
方法一:

使用CREATE USER语句来创建用户。以下是一个示例:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

该语句将在MySQL数据库中创建一个名为'username'的用户,并为该用户设置密码为'password'。用户只能从本地主机连接到数据库。

方法二:

使用GRANT语句创建用户。以下是一个示例:

GRANT ALL PRIVILEGES ON . TO 'username'@'localhost' IDENTIFIED BY 'password';

该语句将为名为'username'的用户授予对所有数据库和表的全部权限,并设置密码为'password'。用户只能从本地主机连接到数据库。

注意:在实际生产环境中,应根据需要为用户分配适当的权限,而不是赋予全部权限。

方法三:

使用INSERT INTO语句将用户信息插入到mysql.user表中。以下是一个示例:

INSERT INTO mysql.user (User, Host, Password) VALUES ('username', 'localhost', PASSWORD('password'));

该语句将在mysql.user表中插入一条记录,包含用户名为'username'、主机为'localhost'和使用PASSWORD函数加密的密码。用户只能从本地主机连接到数据库。

需要注意的是,为了使新用户生效,必须使用FLUSH PRIVILEGES语句刷新MySQL的权限缓存:

FLUSH PRIVILEGES;

创建容器2

docker run -it -d --name mysql_2 -p 7002:3306 --net mynet --ip 172.18.0.3 -m 400m -v /root/mysql_2/data:/var/lib/mysql -v /root/mysql_2/config:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=abc123456 -e TZ=Asia/Shanghai --privileged=true mysql:5.7 --lower_case_table_names=1

执行成功后,

查看:docker ps -a

说明部署成功了,先暂停这个容器:docker stop mysql_2

接着在/root/mysql_2/config/下创建my.cnf

[mysqld]
character_set_server=utf8
server_id=2
log_bin=mysql_bin
relay_log=relay_bin
read-only=1
#log-slave-updates=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

重新启动mysql_2容器:docker start mysql_2

使用navicat连接,并设置

stop slave;

change master to master_host='172.18.0.2',master_port=3306,master_user='sync',master_password='abc123456'

start slave;

show slave status;

一条条执行,前面都是执行结果为OK

最后一条的显示为:这就说明从库设置成功!

创建容器3

docker run -it -d --name mysql_2 -p 7003:3306 --net mynet --ip 172.18.0.4 -m 400m -v /root/mysql_3/data:/var/lib/mysql -v /root/mysql_3/config:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=abc123456 -e TZ=Asia/Shanghai --privileged=true mysql:5.7 --lower_case_table_names=1

执行成功后,

查看:docker ps -a

说明部署成功了,先暂停这个容器:docker stop mysql_3

接着在/root/mysql_3/config/下创建my.cnf

[mysqld]
character_set_server=utf8
server_id=3
log_bin=mysql_bin
relay_log=relay_bin
read-only=1
#log-slave-updates=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

重新启动mysql_3容器:docker start mysql_3

使用navicat连接,并设置

stop slave;

change master to master_host='172.18.0.2',master_port=3306,master_user='sync',master_password='abc123456'

start slave;

show slave status;

一条条执行,前面都是执行结果为OK

最后一条的显示为:这就说明从库设置成功!

在主库上创建一个数据库与数据表

在从库上自动添加了这个库与表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/774606.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Astro新前端框架首次体验

Astro新前端框架首次体验 1、什么是Astro Astro是一个静态网站生成器的前端框架,它提供了一种新的开发方式和更好的性能体验,帮助开发者更快速地构建现代化的网站和应用程序。 简单来说就是:Astro这个是一个网站生成器,可以直接…

生成式人工智能如何改变软件开发:助手还是取代者?

生成式人工智能如何改变软件开发:助手还是取代者? 生成式人工智能(AIGC)正在引领软件开发领域的技术变革。从代码生成、错误检测到自动化测试,AI工具在提高开发效率的同时,也引发了对开发者职业前景的讨论…

标贝语音识别在智能会议系统的应用案例

语音识别是指将语音信号转换成文本或者其他数字信号形式的过程,随着人工智能在人们日常工作生活中的普及,语音识别技术也被广泛的应用在智能家居、智能会议、智能客服、智能驾驶等领域,以语音识别技术在智能会议系统中的应用为例,…

【读点论文】基于二维伽马函数的光照不均匀图像自适应校正算法

基于二维伽马函数的光照不均匀图像自适应校正算法 摘 要:提出了一种基于二维伽马函数的光照不均匀图像自适应校正算法.利用多尺度高斯函数提取出场景的光照分量,然后构造了一种二维伽马函数,并利用光照分量的分布特性调整二维伽马函数的参数,降低光照过强区域图像的亮度值,提高…

服务器U盘安装Centos 7时提示Warning:/dev/root does not exist

这是没有找到正确的镜像路径导致的,我们可以在命令行输入ls /dev看一下有哪些盘符 像图中红色圈起来的就是我插入U盘的盘符,大家的输几盘可能做了多个逻辑盘,这种情况下就可以先将U盘拔掉再ls /dev看一下和刚才相比少了那两个盘符&#xff0c…

Redis高级篇之最佳实践

Redis高级篇之最佳实践 今日内容 Redis键值设计批处理优化服务端优化集群最佳实践 1、Redis键值设计 1.1、优雅的key结构 Redis的Key虽然可以自定义,但最好遵循下面的几个最佳实践约定: 遵循基本格式:[业务名称]:[数据名]:[id]长度不超过…

空调计费系统是什么,你知道吗

空调计费系统是一种通过对使用空调的时间和能源消耗进行监测和计量来进行费用计算的系统。它广泛应用于各种场所,如家庭、办公室、商场等,为用户提供了方便、准确的能源使用管理和费用控制。 可实现功能 智能计费:中央空调分户计费系统通过智…

光电液位传感器在宠物洗澡机的应用

光电液位传感器在宠物洗澡机中的应用,为洗澡机的智能化管理提供了重要支持和保障。这种先进的传感技术不仅提升了设备的操作便捷性,还大幅度提高了洗澡过程的安全性和效率。 宠物洗澡机作为宠物护理的重要设备,其水位的控制至关重要。光电液…

SD16S1Y 符合GB2312标准16X16点阵汉字库芯片IC

一般概述 SD16S1Y是一款内含16x16点阵的汉字库芯片,支持GB2312国标简体汉字(含有国家信标委 合法授权)、ASCII字符。排列格式为竖置横排。用户通过字符内码,利用本手册提供的方法计算出 该字符点阵在芯片中的地址,可从该地址连续读出字…

STM32/GD32驱动步进电机芯片TM2160

文章目录 官方概要简单介绍整体架构流程 官方概要 TMC2160是一款带SPI接口的大功率步进电机驱动IC。它具有业界最先进的步进电机驱动器,具有简单的步进/方向接口。采用外部晶体管,可实现高动态、高转矩驱动。基于TRINAMICs先进的spreadCycle和stealthCh…

以太网协议介绍——UDP

注:需要先了解一些以太网的背景知识,方便更好理解UDP协议、 以太网基础知识一 以太网基础知识二 UDP协议 UDP即用户数据报协议,是一种面向无连接的传输层协议,属于 TCP/IP 协议簇的一种。UDP具有消耗资源少、通信效率高等优点&a…

第二届计算机、视觉与智能技术国际会议(ICCVIT 2024)

随着科技的飞速发展,计算机、视觉与智能技术已成为推动现代社会进步的重要力量。为了汇聚全球顶尖专家学者,共同探讨这一领域的最新研究成果和前沿技术,第二届计算机、视觉与智能技术国际会议(ICCVIT 2024)将于2024年1…

从海上长城到数字防线:视频技术在海域边防现代化中的创新应用

随着全球化和科技发展的加速,海域安全问题日益凸显其重要性。海域边防作为国家安全的第一道防线,其监控和管理面临着诸多挑战。近年来,视频技术的快速发展为海域边防场景提供了新的解决方案,其高效、实时、远程的监控特点极大地提…

【稳定检索/投稿优惠】2024年教育、人文发展与艺术国际会议(EHDA 2024)

2024 International Conference on Education, Humanities Development and Arts 2024年教育、人文发展与艺术国际会议 【会议信息】 会议简称:EHDA 2024 大会时间:点击查看 截稿时间:点击查看 大会地点:中国北京 会议官网&#…

云微客短视频矩阵全域营销,更高效的获客引流方式!

在抖音这样一个拥有海量用户和内容的短视频平台上,单一账号往往难以覆盖我们的客户群体,甚至于每天发布四五条视频,所引发的流量也是微乎其微的。在竞争如此激烈的市场环境中,商家企业无不想方设法追求更高效的获客引流方式&#…

【selenium 】操作元素

操作元素 元素操作鼠标操作键盘操作 元素操作 元素操作示例清空输入框clear()deiver.find_element_by_id(“username”).clear()输入文字send_keys()deiver.find_element_by_id(“username”).send_keys(‘zs’)元素点击 click()deiver.find_element_by_id(“login”).click()…

【ARM系列】1 of N SPI

1 of N模式 SPI 概述配置流程 概述 GIC-600AE支持1 of N模式SPI。在此模式下可以将SPI target到多个core,并且GIC-600AE可以选择哪些内核接收SPI。 GIC-600AE只向处于powered up 并且使能中断组的core发送SPI。 GIC-600AE会优先考虑那些被认为是active的核&#xf…

ORB-SLAM3源码分析(案例分析)

一、ORB-SLAM3简介 ORB-SLAM3 (Oriented FAST and Rotated BRIEF SLAM 3) 是一种视觉SLAM(Simultaneous Localization and Mapping,同时定位与地图构建)系统,用于机器人和计算机视觉领域。它是ORB-SLAM系列的第三个版本&#xff…

Pandas 入门 15 题

Pandas 入门 15 题 1. 相关知识点1.1 修改DataFrame列名1.2 获取行列数1.3 显示前n行1.4 条件数据选取值1.5 创建新列1.6 删去重复的行1.7 删除空值的数据1.9 修改列名1.10 修改数据类型1.11 填充缺失值1.12 数据上下合并1.13 pivot_table透视表的使用1.14 melt透视表的使用1.1…

聊天交友系统开发专业语聊交友app开发搭建同城交友开发婚恋交友系统相亲app开发

1、上麦相亲互动:直播间内除了红娘外,还有男女用户两个视频麦位,直播间符合要求的用户可以申请上麦 2、公屏聊天:为上麦用户可以通过在公屏发言的方式参与直播间内的话题互动。 3、私信,异性用户之间可以发送私信消息,通过付费或开通会员可解…