在CentOS系統上搭建MySQL集群可以采用多種方案,其中最常見的是基于主從復制的高可用性方案。以下是一個基本的CentOS MySQL主從復制集群搭建步驟:
sudo yum update -y
sudo yum install curl wget -y
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
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo grep 'temporary password' /var/log/mysqld.log
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
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
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)等更高級的集群方案,這些方案提供了更高的可用性和擴展性。
請注意,以上步驟是一個基本的主從復制集群搭建示例,實際生產環境中可能需要更多的配置和優化。此外,還需要考慮網絡配置、防火墻設置、監控和日志管理等因素。