🏡作者主页:
🐧linux基础知识(初学):点击!
🐧linux高级管理防护和群集专栏:
🔐linux中firewalld防火墙:点击!
⏰️创作时间:2024年7月24日14点10分
🀄️文章质量:93分
目录
1.所有节点配置
-
配置ip地址、网关、dns、主机名称
通过适当的配置文件或命令设置网络相关信息,确保所有节点能正确互联互通。 -
停止并禁用防火墙
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配置文件
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', master_user='repluser', master_password='abc-1234', master_port=3306, master_log_file='mysql-bin.000002', master_log_pos=740;
根据主服务器状态配置从服务器的复制信息。
-
启动从服务器
start slave;
-
查看从服务器状态
show slave status\g;
检查从服务器复制状态,确保成功连接并同步。
-
4.测试主从同步
在主服务器上创建数据库和表,并插入数据:
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数据库的主从复制,确保了数据的实时同步与备份。这不仅提高了数据的安全性,还为后续的扩展和维护提供了便利。希望读者能够运用所学知识,进一步探索和优化自己的数据库管理方案,为实现更高效的业务运营打下坚实的基础。
发表评论