在当今企业级应用中,数据库的高可用性和数据冗余至关重要。本文将带你从零开始,在 Centos 系统上部署一个简单但实用的 数据库集群,采用 MySQL 主从复制 架构,实现读写分离与故障容灾。即使你是 Linux 新手,也能轻松跟学完成!
我们需要两台 CentOS 7 或 CentOS 8 服务器(最小化安装即可),分别作为主库(Master)和从库(Slave):
在两台服务器上分别执行以下命令安装 MySQL(以 CentOS 7 为例):
# 添加 MySQL 官方 Yum 仓库sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpmsudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm# 安装 MySQL 服务器sudo yum install mysql-server -y# 启动并设置开机自启sudo systemctl start mysqldsudo systemctl enable mysqld
安装完成后,获取临时 root 密码:
sudo grep 'temporary password' /var/log/mysqld.log
然后运行安全初始化脚本,设置新密码并加固安全:
sudo mysql_secure_installation
编辑 MySQL 配置文件 /etc/my.cnf,在 [mysqld] 段落下添加以下内容:
[mysqld]server-id=1log-bin=mysql-binbinlog-do-db=your_database_name # 可选:只同步指定数据库bind-address=0.0.0.0
保存后重启 MySQL:
sudo systemctl restart mysqld
登录 MySQL,创建用于复制的用户:
mysql -u root -p-- 执行以下 SQLCREATE USER 'repl_user'@'%' IDENTIFIED BY 'StrongPassword123!';GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';FLUSH PRIVILEGES;-- 查看主库状态(记录 File 和 Position)SHOW MASTER STATUS;
同样编辑 /etc/my.cnf,配置如下:
[mysqld]server-id=2relay-log=mysql-relay-binread_only=1
重启 MySQL 并登录,执行以下命令连接主库:
mysql -u root -p-- 假设主库 SHOW MASTER STATUS 显示 File='mysql-bin.000001', Position=156CHANGE MASTER TO MASTER_HOST='192.168.1.100', MASTER_USER='repl_user', MASTER_PASSWORD='StrongPassword123!', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=156;START SLAVE;-- 检查从库状态SHOW SLAVE STATUS\G
确保 Slave_IO_Running 和 Slave_SQL_Running 都为 Yes,表示复制正常。
在主库创建测试数据库和表:
CREATE DATABASE test_db;USE test_db;CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50));INSERT INTO users VALUES (1, 'Alice');
然后在从库查询:
USE test_db;SELECT * FROM users;
如果能看到数据,说明 Centos数据库集群部署 成功!
firewall-cmd --permanent --add-port=3306/tcp/var/log/mysqld.log通过本教程,你已成功搭建了一个基于 Centos 的 MySQL主从复制 数据库集群,具备基础的高可用能力。这是迈向 Centos高可用数据库 架构的第一步。后续可结合 Keepalived 实现 VIP 自动切换,进一步提升系统可靠性。
希望这篇 Linux数据库集群教程 对你有所帮助!如有疑问,欢迎留言交流。
本文由主机测评网于2025-12-05发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025123493.html