首页 > 数据库 >docker创建mysql集群

docker创建mysql集群

时间:2023-12-05 22:47:05浏览次数:26  
标签:log cluster 集群 conf mysql var home docker

一、创建mysql的节点目录

# 创建第一个节点
mkdir /home/mysql-cluster/node1
cd /home/mysql-cluster/node1
mkdir conf data files log
# 创建第二个节点
mkdir /home/mysql-cluster/node2
cd /home/mysql-cluster/node2
mkdir conf data files log
# 创建第三个节点
mkdir /home/mysql-cluster/node3
cd /home/mysql-cluster/node3
mkdir conf data files log

二、在conf目录下创建初始化文件cnf

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

default-time_zone = '+8:00'
log_timestamps=SYSTEM

max_connections=1000

default-authentication-plugin=mysql_native_password

skip-host-cache
skip-name-resolve

datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock

#log-error=/var/log/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

三、创建第一个节点

docker run -d \
-p 3307:3306 \
-v /home/mysql-cluster/node1/conf:/etc/mysql/conf.d \
-v /home/mysql-cluster/node1/data:/var/lib/mysql \
-v /home/mysql-cluster/node1/files:/var/lib/mysql-files \
-v /home/mysql-cluster/node1/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-e EXTRABACKUP_PASSWROD=root \
-e CLUSTER_NAME=mysql-cluster \
-e CLUSTER_JOIN=“mysql-node1 mysql-node2 mysql-node3” \
--privileged \
--name mysql-node1 \
--network mynet mysql:8.0.19

四、创建第二个节点

docker run -d \
-p 3308:3306 \
-v /home/mysql-cluster/node2/conf:/etc/mysql/conf.d \
-v /home/mysql-cluster/node2/data:/var/lib/mysql \
-v /home/mysql-cluster/node2/files:/var/lib/mysql-files \
-v /home/mysql-cluster/node2/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-e EXTRABACKUP_PASSWROD=root \
-e CLUSTER_NAME=mysql-cluster \
-e CLUSTER_JOIN=“mysql-node1 mysql-node2 mysql-node3” \
--privileged \
--name mysql-node2 \
--network mynet mysql:8.0.19

五、创建第三个节点

docker run -d \
-p 3309:3306 \
-v /home/mysql-cluster/node3/conf:/etc/mysql/conf.d \
-v /home/mysql-cluster/node3/data:/var/lib/mysql \
-v /home/mysql-cluster/node3/files:/var/lib/mysql-files \
-v /home/mysql-cluster/node3/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-e EXTRABACKUP_PASSWROD=root \
-e CLUSTER_NAME=mysql-cluster \
-e CLUSTER_JOIN=“mysql-node1 mysql-node2 mysql-node3” \
--privileged \
--name mysql-node3 \
--network mynet mysql:8.0.19

 

标签:log,cluster,集群,conf,mysql,var,home,docker
From: https://www.cnblogs.com/lizhenfeng/p/17878485.html

相关文章

  • Kafka集群调优+能力探底
    一、前言我们需要对4个规格的kafka能力进行探底,即其可以承载的最大吞吐;4个规格对应的单节点的配置如下:标准版:2C4G铂金版:4C8G专业版:8C16G企业版:16C32G另外,一般来讲,在同配置下,kafka的读性能是要优于写性能的,写操作时,数据要从网卡拷贝至堆内存,然后进行一堆数据校验、解......
  • StackGres 数据库平台工程,使用 Citus + Patroni 创建生产级高可用分布式 PostgreSQL
    系列StackGres,可私有部署的云原生数据库平台工程StackGres 数据库平台工程功能介绍与快速上手StackGres1.6数据库平台工程集群配置管理(K8SPods/PostgreSQL/PgBouncer)StackGres1.6数据库平台工程,集群高可用(Patroni3管理)什么是ShardedCluster(分片集群)Sha......
  • 大数据实验——mysql服务的启动
    黑马程序的mysql服务启动密码是hadoop直接在主控制台上输出mysql-uroot-p然后输入密码进入mysql服务 剩下的就是在finallshell里面进行一些建表增删改查操作,还有一个问题就是通过java代码进行对表数据的增删改查我才用的方法是在Navicat里面建一个node1主机的链接然后就......
  • MySQL EXPLAIN详解
    MySQL数据库是许多Web应用程序的底层支持,而查询性能的优化是确保系统高效运行的关键。在MySQL中,EXPLAIN是一项强大的工具,可帮助开发者深入了解查询语句的执行计划,从而更好地优化查询性能。本文将详细解析MySQL的EXPLAIN关键字,以揭开查询执行计划的面纱。什么是EXPLAIN?mysql官网......
  • 解读JetBrains 2023年开发者生态报告,MySQL仍是全球数据库顶流 | StoneDB数据库观察 #1
    :::hljs-center:::<br>:::hljs-right作者:宇亭:::<br>最近,全球知名的开发者工具公司JetBrains对外发布了《2023年开发者生态系统报告》,报告的具体内容,前几天已经有中文互联网的媒体解读了,由于我们是做数据库的,所以自然而然想要特别关注一下数据库的情况——结果在意料之......
  • 【MySQL】回收普通用户对其他库的查询权限,普通用户只能看见自己的表
    如何解决已回收权限的普通用户对其他库的查看权限?正常来说,普通用户自己创建的数据库表的权限无法被回收,如果用户曾经被授权过所有权限,取消权限后,依然可以看见其他库。其原因就是被授予了grantoption权限,需要手动取消"WITHGRANTOPTION"是MySQL中的一个选项,用于将授予权限给其......
  • Linux搭建Docker Registry本地镜像仓库并且实现无公网远程上传本地镜像
    DockerRegistry本地镜像仓库,简单几步结合cpolar内网穿透工具实现远程pullorpush(拉取和推送)镜像,不受本地局域网限制!1.部署DockerRegistry使用官网安装方式,docker命令一键启动,该命令启动一个registry的容器,版本是2,挂载宿主机端口是5000端口,挂载后,5000端口就是我......
  • mysql 实现自增 ++i
    mysql实现自增1.每次查询都会自增--@i:=0来初始化一个名为@i的变量,并赋值为0@i是一个用户定义的变量,在MySQL中,使用@前缀定义的变量是用户定义的变量,与系统变量不同。SET@i=(select@i:=0FROMdual);--SELECT语句来将@i的值加1并赋值给@i。这里使用了:=运......
  • 如何在不破坏docker容器的情况下更新nvidia驱动
    参考资料:[驱动-CUDA对照表][驱动下载页][重装驱动的一个教程][整体的一个方法指导]由于项目结题,需要在一个较旧的8卡V100服务器上运行机器学习代码,但是这个服务器上面的docker驱动却旧到爆炸,请看VCR:2023年了居然显卡驱动还停留在418,这......
  • MySQL创建用户并赋权
    最简单(全部赋权)语法#创建用户CREATEUSER'username'@'%'IDENTIFIEDBY'mypassword';#赋权所有GRANTALLPRIVILEGESON*.*TO'username'@'%';#刷新权限FLUSHPRIVILEGES;1.创建mysql用户1.1新建用户CREATEUSER'username&......