MySQL集群是一种通过将多个MySQL服务器组合在一起,以提供高可用性、负载均衡和数据冗余的解决方案。常见的MySQL集群架构包括主从复制(Master-Slave Replication)、主主复制(Master-Master Replication)和MySQL Group Replication等。
以下是一个简单的MySQL主从复制集群搭建示例:
在所有节点上安装MySQL:
sudo apt-get update
sudo apt-get install mysql-server
编辑主节点的my.cnf
文件:
sudo nano /etc/mysql/my.cnf
添加以下配置:
[mysqld]
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = your_database_name
重启MySQL服务:
sudo systemctl restart mysql
在主节点上创建一个复制用户:
CREATE USER 'replication_user'@'slave_ip' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'slave_ip';
FLUSH PRIVILEGES;
编辑从节点的my.cnf
文件:
sudo nano /etc/mysql/my.cnf
添加以下配置:
[mysqld]
server-id = 2
relay_log = /var/log/mysql/mysql-relay-bin.log
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = your_database_name
read_only = 1
重启MySQL服务:
sudo systemctl restart mysql
在从节点上设置主节点信息:
CHANGE MASTER TO
MASTER_HOST='master_ip',
MASTER_USER='replication_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=107;
START SLAVE;
在主节点上插入数据:
CREATE DATABASE your_database_name;
USE your_database_name;
CREATE TABLE test (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255));
INSERT INTO test (name) VALUES ('test1');
在从节点上查询数据:
USE your_database_name;
SELECT * FROM test;
如果从节点上能看到主节点插入的数据,说明集群搭建成功。
my.cnf
文件中的配置是否正确,并确保主从节点的数据一致性。通过以上步骤,你可以搭建一个基本的MySQL主从复制集群。根据具体需求,你还可以进一步优化和扩展集群配置。
领取专属 10元无门槛券
手把手带您无忧上云