目 录CONTENT

文章目录

数据库集群搭建

不争
2024-01-02 / 0 评论 / 0 点赞 / 12 阅读 / 3149 字

数据库集群搭建

为什么会有数据库集群

首先什么是集群呢?搭建多台数据库对外提供服务,数据库之间有着主从,一台数据库假如能承受2000并发,3台理论6000并发。考虑到读比写更多,设计一个主2个从,去实现读写分离。

集群架构

我们选择percona产品,去搭建集群环境。

Percona Server为 MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升。该版本提升了在高负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务器行为。

1666424153847

搭建主

  • 创建文件夹/db/mysql/m1

    • mkdir -p /db/mysql/m1
  • m1中新建文件夹 conf和data

    • mkdir conf data
  • 更改权限chmod 777 *

  • 在conf中新建配置文件my.cnf

    • vi conf/my.cnf

    • [mysqld]
      log-bin=mysql-bin # 开启二进制日志记录
      server-id=1 # 服务id,不可重复
      
  • 创建并启动容器

    • docker run -dti --name percona-m1 -v /db/mysql/m1/data:/var/lib/mysql -v /db/mysql/m1/conf:/etc/my.cnf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root percona:5.7.23
      
    • 1666426257878

image-20231017112520002

在Navicat中添加同步用户

  1. 新建用户CREATE USER 'chen'@'%' IDENTIFIED BY 'chen'

  2. 授权GRANT replication SLAVE ON *.* TO 'chen'@'%'

  3. FLUSH PRIVILEGES

  4. 查看主状态SHOW master STATUS

image-20231017112703254

搭建从

  1. 创建文件夹/db/mysql/s1

  2. s1中新建文件夹 conf和data

  3. 更改权限chmod 777 *

  4. 在conf中新建配置文件my.cnf

    1. [mysqld]
      server-id=2
      
  5. 创建并启动容器

    1. docker run -dti --name percona-s1 -v /db/mysql/s1/data:/var/lib/mysql -v /db/mysql/s1/conf:/etc/my.cnf.d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root percona:5.7.23
      
  6. 配置从 (master_log_post写你主数据库查到的)

    1. CHANGE MASTER TO
      master_host='192.168.226.69',
      master_user='chen',
      master_password='chen',
      master_port=3306,
      master_log_file='mysql-bin.000003',
      master_log_pos=739
      
  7. 启动从库

    1. START SLAVE
  8. 查看主从状态

    1. SHOW SLAVE STATUS
    2. 1666428444230

测试数据同步

  1. 在主库去增删改数据
  2. 避免在从库写入数据,会破坏同步功能

1666428516372

0

评论区