环境:准备三台Linux服务器,版本为CentOS Linux release 7.9.2009 (Core)。IP分别为192.168.80.128,192.168.80.130,192.168.80.129,位于同一局域网下。

换源

  1. 查看已配置的源:yum repolist
  2. 备份当前的yum源:mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  3. 使用阿里云的源:curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  4. 清空并生成缓存

MySQL安装及基本配置

版本:mysql-community-server.x86_64 0:5.6.51-2.el7。以下操作三台服务器都需要进行

  1. 查看当前系统已安装的Mariadb数据库版本:rpm -qa|grep -i mariadb
  2. 卸载已安装的 Mariadb 数据库:rpm -qa|grep mariadb|xargs rpm -e --nodeps
  3. 下载安装包文件:wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
  4. 安装mysql-community-release-el7-5.noarch.rpm包:rpm -ivh mysql-community-release-el7-5.noarch.rpm,安装完成后会在/etc/yum.repos.d目录下新增mysql-community-source.repo和mysql-community.repo两个文件
  5. 安装MySQL:yum install mysql-server -y
  6. 查看MySQL是否安装成功:rpm -qa | grep mysql
  7. 启动MySQL服务器:systemctl start mysqld.service
  8. 使用MySQL官方提供的客户端命令行工具连接MySQL服务器进行默认用户root的密码修改:
    1. 登录:mysql -uroot,输入后直接回车
    2. 进入mysql数据库:use mysql;
    3. 修改user表中root用户的密码:update user set password=PASSWORD("123456") where User='root';
    4. 刷新:flush privileges;
  9. 设置远程主机登录:
    1. 授权:mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";
    2. 刷新:mysql> FLUSH PRIVILEGES;
    3. 图示如下:
  10. 防火墙开启3306端口
    1. 开启3306端口:
    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    
    1. 重启防火墙:
    systemctl restart firewalld.service
    
    1. 图例如下
  11. 在Windows上使用MySQL客户端工具Navicat连接MySQL数据库,成功连接。至此MySQL基本配置完成

MySQL集群搭建

一主多从:192.168.80.128将作为主服务器节点,192.168.80.129和192.168.80.130将作为从服务器节点

1.主节点服务器配置
  1. 编辑配置文件:vim /etc/my.cnf,在该文件的[mysqld]根节点下新增内容server-id=128log_bin=mysql_binbinlog-format=Row。注意这个server-id的值不同服务器节点值不同。
  2. 配置完重启一下服务器:
systemctl restart mysqld.service
  1. 主服务器授权从服务器:grant replication slave on *.* to root@'192.168.80.129' identified by '123456';grant replication slave on *.* to root@'192.168.80.130' identified by '123456';
  2. 获取当前主节点服务器的二进制日志状态:执行flush logs;show master status;,注意这个信息在配置从服务器节点时需要使用
2.从服务器节点配置
  1. 编辑配置文件:vim /etc/my.cnf,在该文件的[mysqld]根节点下新增内容server-id=128log_bin=mysql_binbinlog-format=Row。注意这个server-id的值不同服务器节点值不同。两个从服务器server-id的值分别如下所示:

  2. 配置完重启一下服务器:
systemctl restart mysqld.service
  1. 从服务器接受授权:change master to master_user='root',master_password='123456',master_host='192.168.80.128',master_log_file='mysql_bin.000001',master_log_pos=1043;
  2. 在从服务器上查看生成的master.info文件:
  3. 开始同步:mysql> start slave;

  4. 查看状态信息:show slave status\G

3.一主多从搭建测试
  1. 在主服务节点中新建个数据库:
  2. 在从服务器上可以看到test数据库