Linux中Mysql5.7主从架构(一主多从)配置教程

神秘泣男子 2024-07-26 17:07:02 阅读 79

  

🏡作者主页:点击! 

🐧Linux基础知识(初学):点击!

🐧Linux高级管理防护和群集专栏:点击!

🔐Linux中firewalld防火墙:点击!

⏰️创作时间:2024年7月24日14点10分

🀄️文章质量:93分


目录

1.所有节点配置

建立时间同步环境

主节点

从节点

2.MySQL数据库安装

3.配置传统复制的单主复制

服务器 (master1)

从服务器 (master2)

4.测试主从同步


1.所有节点配置

配置IP地址、网关、DNS、主机名称

通过适当的配置文件或命令设置网络相关信息,确保所有节点能正确互联互通。

停止并禁用防火墙

<code>setenforce 0

systemctl stop firewalld

systemctl disable firewalld

这些命令用于关闭SELinux和防火墙,防止它们阻碍节点之间的通信。

下载所需组件

yum groupinstall -y 'Development Tools'

yum install -y lrzsz

安装开发工具和文件传输工具,确保系统具备必要的开发和传输环境。

建立时间同步环境
主节点

安装NTP

yum -y install ntp

安装NTP服务以确保时间同步。

配置NTP

vim /etc/ntp.conf

添加如下两行:

server 127.127.1.0

fudge 127.127.1.0 stratum 8

配置NTP服务以使用本地时间作为参考。

重启服务并设置为开机自动启动

systemctl restart ntpd

systemctl enable ntpd

重启NTP服务并设置为开机自启动,以确保时间同步服务持续运行。

从节点

安装ntpdate

yum install -y ntpdate

安装ntpdate工具,用于手动同步时间。

同步时间

ntpdate NTP服务器IP

使用NTP服务器IP同步时间。例如:

ntpdate 192.168.192.100

2.MySQL数据库安装

下载MySQL 5.7.29安装包

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar

从官方源下载MySQL安装包。

解压并创建MySQL yum仓库

mkdir /mysql57

tar xf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar -C /mysql57

createrepo /mysql57

解压安装包并创建本地YUM仓库。

配置yum仓库

cat >> /etc/yum.repos.d/CentOS-mysql57.repo <<EOF

[mysql57]

name=mysql57

enabled=1

gpgcheck=0

baseurl=file:///mysql57

EOF

配置本地yum仓库以便后续安装。

刷新yum并安装MySQL服务器

yum clean all

yum install -y mysql-server

安装MySQL服务器。

启动并更改默认管理密码

systemctl start mysqld

grep "password" /var/log/mysqld.log //获取默认密码

mysqladmin -uroot -p password "Abc-1234" //使用默认密码改密码

启动MySQL服务并更改默认root用户的密码。

3.配置传统复制的单主复制

主服务器 (master1)

编辑MySQL配置文件

vim /etc/my.cnf

添加以下内容:

[mysqld]

server-id = 100

log_bin = mysql-bin

设置服务器ID和启用二进制日志。

重启MySQL服务

systemctl restart mysqld

重启MySQL服务以应用配置更改。

创建具有复制权限的用户

mysql -uroot -pAbc-1234

mysql -uroot -pAbc-1234 -e "GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'192.168.192.%' IDENTIFIED BY 'Abc-1234';

FLUSH PRIVILEGES;"

创建用于复制的用户并授予必要权限。

查看主服务器状态

SHOW MASTER STATUS\G;

获取二进制日志文件和位置,用于配置从服务器。

服务器 (master2)

编辑MySQL配置文件

<code>vim /etc/my.cnf

添加以下内容:

[mysqld]

server-id = 2

设置从服务器的ID。

重启MySQL服务

systemctl restart mysqld

重启MySQL服务以应用配置更改。

连接主服务器

mysql -uroot -pAbc-1234

CHANGE MASTER TO

MASTER_HOST='192.168.192.100',code>

MASTER_USER='repluser',code>

MASTER_PASSWORD='Abc-1234',code>

MASTER_PORT=3306,

MASTER_LOG_FILE='mysql-bin.000002',code>

MASTER_LOG_POS=740;

根据主服务器状态配置从服务器的复制信息。

启动从服务器

START SLAVE;

查看从服务器状态

SHOW SLAVE STATUS\G;

检查从服务器复制状态,确保成功连接并同步。

4.测试主从同步

在主服务器上创建数据库和表,并插入数据:

<code>mysql> create database smqnz;

mysql> use smqnz;

mysql> create table test(age int);

mysql> insert into test values(1);

mysql> select * from test;

+------+

| age |

+------+

| 1 |

+------+

在从服务器上检查数据是否同步:

mysql> select * from smqnz.test;

+------+

| age |

+------+

| 1 |

+------+

1 row in set (0.00 sec)

以上操作确保了主服务器的数据成功复制到从服务器,实现了主从同步。

总结

通过本文的介绍,我们成功地在Linux系统中配置了MySQL数据库的主从复制,确保了数据的实时同步与备份。这不仅提高了数据的安全性,还为后续的扩展和维护提供了便利。希望读者能够运用所学知识,进一步探索和优化自己的数据库管理方案,为实现更高效的业务运营打下坚实的基础。

 成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。