阅读量:1
在CentOS系统上搭建MySQL集群可以采用多种方案,其中最常见的是基于主从复制的高可用性方案。以下是一个基本的CentOS MySQL主从复制集群搭建步骤:
环境准备
- 更新系统:
sudo yum update -y
- 安装必要的工具:
sudo yum install curl wget -y
- 安装MySQL:
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
sudo yum install mysql-community-server -y
配置MySQL服务
- 启动MySQL服务:
sudo systemctl start mysqld
sudo systemctl enable mysqld
- 查找初始密码:
sudo grep 'temporary password' /var/log/mysqld.log
- 登录MySQL并修改密码:
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword';
配置主从复制
主服务器配置
- 编辑主服务器配置文件
/etc/my.cnf:
[mysqld]
server-id=1
log_bin=/var/log/mysql/mysql-bin.log
binlog_do_db=example_database
- 重启MySQL服务:
sudo systemctl restart mysqld
- 创建复制用户:
mysql -uroot -p
CREATE USER 'mastj'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'mastj'@'%';
FLUSH PRIVILEGES;
- 锁定数据库并导出数据(如果有现有数据):
mysql -uroot -p
FLUSH TABLES WITH READ LOCK;
SELECT * INTO OUTFILE '/tmp/data.sql' FROM orders;
UNLOCK TABLES;
从服务器配置
- 编辑从服务器配置文件
/etc/my.cnf:
[mysqld]
server-id=2
relay-log=/var/log/mysql/mysql-relay-bin.log
read-only=1
- 重启MySQL服务:
sudo systemctl restart mysqld
- 配置从服务器复制:
mysql -uroot -p
CHANGE MASTER TO
MASTER_HOST='192.168.1.18',
MASTER_USER='mastj',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=2005;
START SLAVE;
- 检查复制状态:
mysql -uroot -p
SHOW SLAVE STATUS\G;
验证集群
通过连接到MySQL并运行特定的查询来验证集群是否构建成功,例如:
SHOW VARIABLES LIKE 'version';
SHOW VARIABLES LIKE 'datadir';
此外,还可以考虑使用Percona XtraDB Cluster (PXC)或MySQL Group Replication (MGR)等更高级的集群方案,这些方案提供了更高的可用性和扩展性。
请注意,以上步骤是一个基本的主从复制集群搭建示例,实际生产环境中可能需要更多的配置和优化。此外,还需要考虑网络配置、防火墙设置、监控和日志管理等因素。
以上就是关于“centos mysql集群搭建方案”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm