GA黄金甲

怎样在Linux上搭建高可用的MySQL容器集群?

怎样在linux上搭建高可用的mysql容器集群?

随着云盘算和容器手艺的兴起,越来越多的企业最先使用容器来构建应用程序。MySQL作为最常用的关系型数据库之一,也可以通过容器化来实现高可用性。在本文中,将先容怎样在Linux上搭建高可用的MySQL容器集群,并提供相关的代码示例。

办法一:准备情形

首先,需要一台Linux主机来搭建MySQL容器集群。确保该主机上已经装置了Docker和Docker Compose。若是未装置,可通过以下下令装置:

$ sudo apt-get update
$ sudo apt-get install docker.io
$ sudo apt-get install docker-compose

登录后复制

办法二:建设Docker镜像

接下来,需要建设一个MySQL镜像来运行容器?梢酝ü鼶ockerfile来界说镜像的构建历程。建设一个名为Dockerfile的文件,并在其中添加以下内容:

FROM mysql:8.0

ENV MYSQL_ROOT_PASSWORD your_password
ENV MYSQL_DATABASE your_database

COPY your_script.sql /docker-entrypoint-initdb.d/

登录后复制

在上述代码中,your_password为MySQL的root用户密码,your_database为要建设的数据库名称,your_script.sql为要执行的初始化剧本文件?梢云局は终嫦嘈涡薷恼庑┎问。

生涯并退出文件后,使用以下下令来构建镜像:

$ sudo docker build -t your_image_name .

登录后复制

其中,your_image_name是你给镜像起的名称。

办法三:建设Docker Compose文件

在搭建MySQL容器集群之前,需要建设一个docker-compose.yml文件来界说集群中的容器。建设一个名为docker-compose.yml的文件,并在其中添加以下内容:

version: '3'

services:
  mysql1:
    image: your_image_name
    restart: always
    ports:
      - 3306:3306
    volumes:
      - ./mysql1:/var/lib/mysql
    environment:
      - MYSQL_REPLICATION_MODE=master
      - MYSQL_REPLICATION_USER=repl_user
      - MYSQL_REPLICATION_PASSWORD=repl_password

  mysql2:
    image: your_image_name
    restart: always
    volumes:
      - ./mysql2:/var/lib/mysql
    environment:
      - MYSQL_REPLICATION_MODE=slave
      - MYSQL_MASTER_HOST=mysql1
      - MYSQL_MASTER_PORT=3306
      - MYSQL_MASTER_USER=repl_user
      - MYSQL_MASTER_PASSWORD=repl_password

登录后复制

在上述代码中,your_image_name是之前构建的MySQL镜像名称。mysql1和mysql2划分体现两个MySQL容器的名称。MYSQL_REPLICATION_MODE参数设置容器的复制模式,master体现主节点,slave体现从节点。MYSQL_REPLICATION_USER和MYSQL_REPLICATION_PASSWORD为复制用户的用户名和密码。MYSQL_MASTER_HOST和MYSQL_MASTER_PORT为主节点的地点和端口。MYSQL_MASTER_USER和MYSQL_MASTER_PASSWORD为毗连主节点的用户名和密码。

办法四:启动容器集群

生涯并退出文件后,使用以下下令来启动容器集群:

$ sudo docker-compose up -d

登录后复制

通过-d参数可使容器在后台运行。

办法五:验证容器状态

使用以下下令可以审查容器的状态:

$ sudo docker-compose ps

登录后复制

可以看到容器的状态是running,体现容器运行正常。

办法六:测试容器集群

现在,可以测试MySQL容器集群是否正常事情。首先,毗连到MySQL容器的主节点,并建设一个测试数据库:

$ sudo docker exec -it mysql1 mysql -uroot -p
Enter password: your_password
mysql> CREATE DATABASE test;
mysql> EXIT;

登录后复制

然后,毗连到从节点,并验证是否能够读取到主节点上的数据:

$ sudo docker exec -it mysql2 mysql -uroot -p
Enter password: your_password
mysql> USE test;
mysql> SELECT * FROM your_table;
mysql> EXIT;

登录后复制

其中,your_table为你在主节点上建设的表名。

通过以上办法,就乐成搭建了高可用的MySQL容器集群。通过在多个从节点上复制主节点的数据,可以实现数据的冗余和高可用性。若是主节点泛起故障,可以从从节点中选举新的主节点,并继续提供效劳。

希望本文能够对你在Linux上搭建高可用的MySQL容器集群有所资助。祝你乐成!

以上就是怎样在Linux上搭建高可用的MySQL容器集群?的详细内容,更多请关注本网内其它相关文章!

免责说明:以上展示内容泉源于相助媒体、企业机构、网友提供或网络网络整理,版权争议与本站无关,文章涉及看法与看法不代表GA黄金甲滤油机网官方态度,请读者仅做参考。本文接待转载,转载请说明来由。若您以为本文侵占了您的版权信息,或您发明该内容有任何涉及有违公德、冒犯执法等违法信息,请您连忙联系GA黄金甲实时修正或删除。

相关新闻

联系GA黄金甲

18523999891

可微信在线咨询

事情时间:周一至周五,9:30-18:30,节沐日休息

QR code
【网站地图】【sitemap】