Mysql集群部署

EMQX 企业版技术支持发表于:2022年03月02日 11:26:45更新于:2022年03月02日 11:27:30

一、Mysql的安装

mysql分为社区版和企业版,可以登陆官⽹下载所需要的rpm包,这⾥下载的是mysql 8.0.27版本

wget https://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm 
rpm -ivh mysql80-community-release-el7-4.noarch.rpm 
yum makecache 
yum list |grep mysql-community yum install mysql-community-server.x86_64

二、Mysql的使用

初始时mysql登陆需要密码,可以在/etc/my.cnf⽂件[mysqld]下⾯加上skip_grant_tables这样⼀句话,⽤来跳过密码 验证,或者 vi /var/log/mysqld.log查询初始的密码

[root@ecs-ac0e ~]# systemctl start mysqld 
[root@ecs-ac0e ~]# mysql -u root -p 
Enter password: 
[root@ecs-ac0e ~]# vi /etc/my.cnf 
[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
skip_grant_tables 
或者 查询root账户的初始密码 
[root@ecs-ac0e ~]grep 'password' /var/log/mysqld.log

三、Mysql集群的实现步骤

  1. 部署的环境

    系统版本:linux centerOS 7.6

    mysql版本:8.0.27

    mysql集群的⽅式:主从集群

    主节点服务器 地址 192.168.0.10

    从节点服务器 地址 192.168.0.11

  2. 主节点服务器配置

    进入配置页面

    [root@ecs-3a83-0002 ~]# vi /etc/my.cnf

    配置服务器的id sercer_id

    这⾥的server_id 尽量配置为服务器地址的后3位 以⽤来区分  server_id=10

    开启日志文件(binLog)

    log-bin=mysql-bin

    具体配置如下图:

    image.png

    重启mysql服务

    systemctl restart mysqld

    增加host访问权限

    修改root的账号密码,然后updateuser⾥⾯的访问地址,增加权限

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; update user set host='%' where user='root';

    查看配置的server_id

    show variables like '%server_id%';

    当现实如下截图时,证明server_id配置成功

    image.png

    展示master状态

    能够看到同步⽂件和⾏数 说明已经配置成功

    show master status;
  3. 从节点上面的配置

    进入配置页面

    [root@ecs-3a83-0002 ~]# vi /etc/my.cnf 
    在my.cnf⽂件中增加 
    server_id=11 
    log-bin=mysql-bin 
    binlog_do_db=test

    重启mysql服务,验证是否配置成功

    show variables like '%server_id%';

    能够查询对应配置⽂件的server_id 说明配置成功

    image.png

  4. 从服务器同步主服务器配置

    在从服务器进入mysql配置页面,添加下面配置:

    mysql> change master to 
    master_host='192.168.0.10',master_user='root',master_password='Emq_13579',master_log_fil e='mysql-bin.000003',master_log_pos=156; 
    Query OK, 0 rows affected, 8 warnings (0.03 sec) 
    
    mysql> start slave; 
    Query OK, 0 rows affected, 1 warning (0.01 sec) 
    
    mysql> show slave status \G;
     *************************** 1. row ***************************  
     Slave_IO_State: Waiting for source to send event  
     Master_Host: 192.168.0.10  
     Master_User: root  Master_Port: 3306  
     Connect_Retry: 60  
     Master_Log_File: mysql-bin.000003  
     Read_Master_Log_Pos: 156  
     Relay_Log_File: ecs-3a83-0002-relay-bin.000002  
     Relay_Log_Pos: 324  
     Relay_Master_Log_File: mysql-bin.000003  
     Slave_IO_Running: Yes  
     Slave_SQL_Running: Yes  
     Replicate_Do_DB:  
     Replicate_Ignore_DB:

    然后在从服务器里面展示状态:

    show slave status;

    image.png

四、验证mysql主从服务集群搭建成功

  1. 新建数据库验证

    在主节点192.168.0.10上新建数据库 test和test2,然后查询从节点 192.168.0.11 看看数据库是否会同步

    image.png

    image.png

  2. 数据库添加数据认证

    在主节点的表test_0001加入数据123456

    image.png

    查看从节点的表看数据是否同步

    image.png

    至此mysql的集群就已经完成了。

    您需要登录后才可以回复