在现代企业应用中,数据库的高可用性和稳定性至关重要。本文将带你从零开始,在 Centos 系统上搭建一个高可用的 MySQL 集群,即使你是 Linux 和数据库的新手,也能轻松上手。我们将使用主从复制(Master-Slave Replication)的方式实现数据同步,确保服务不中断。
你需要准备以下环境:
在两台服务器上分别执行以下命令安装 MySQL 8.0:
# 添加 MySQL 官方 YUM 仓库sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm# 安装 MySQL 服务器sudo yum install -y mysql-community-server# 启动并设置开机自启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-- 创建复制用户CREATE USER 'repl_user'@'%' IDENTIFIED BY 'StrongPassword123!';GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';FLUSH PRIVILEGES;-- 查看主库状态(记录 File 和 Position)SHOW MASTER STATUS; 同样编辑 /etc/my.cnf,但设置不同的 server-id:
[mysqld]server-id=2relay-log=mysql-relay-binread_only=1 重启 MySQL 后,登录从库 MySQL,执行以下命令连接主库:
CHANGE MASTER TO MASTER_HOST='主库IP地址', MASTER_USER='repl_user', MASTER_PASSWORD='StrongPassword123!', MASTER_LOG_FILE='mysql-bin.000001', -- 替换为你从 SHOW MASTER STATUS 得到的值 MASTER_LOG_POS=156; -- 替换为你从 SHOW MASTER STATUS 得到的值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'); 然后在从库查询,应能看到相同数据。至此,你已成功搭建了一个基础的 Centos集群数据库 环境。
通过本教程,你学会了如何在 Centos 上部署高可用的 MySQL 主从集群。这种 高可用数据库集群 架构不仅能提升系统容错能力,还能为后续读写分离、负载均衡打下基础。如果你需要更高可用性,可进一步结合 Keepalived 或 MHA 实现自动故障切换。
记住,定期备份、监控复制延迟、优化 SQL 查询是维护 分布式数据库部署 稳定运行的关键。希望这篇关于 Centos MySQL主从复制 的教程对你有所帮助!
本文由主机测评网于2025-12-27发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20251213267.html