在Ubuntu上部署MySQL集群,通常指的是使用MySQL的复制功能来创建一个主从复制集群。以下是基本的步骤来设置一个MySQL主从复制集群:
准备环境:
配置主节点:
/etc/mysql/my.cnf
(或/etc/my.cnf
)。[mysqld]
部分添加以下配置:server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = mydb # 替换为你想要复制的数据库名称
auto_increment_increment = 2
auto_increment_offset = 1
sudo service mysql restart
。CREATE USER 'replicator'@'%' IDENTIFIED BY 'password'; # 替换为你的密码
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;
配置从节点:
/etc/mysql/my.cnf
。[mysqld]
部分添加以下配置:server-id = 2 # 对于每个从节点,这个ID必须是唯一的
relay_log = /var/log/mysql/mysql-relay-bin.log
log_bin = /var/log/mysql/mysql-bin.log
replicate_do_db = mydb # 替换为你想要复制的数据库名称
auto_increment_increment = 2
auto_increment_offset = 2
sudo service mysql restart
。CHANGE MASTER TO
MASTER_HOST='master_ip', # 替换为主节点的IP地址
MASTER_USER='replicator',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001', # 替换为你获取的文件名
MASTER_LOG_POS=123; # 替换为你获取的位置
START SLAVE;
SHOW SLAVE STATUS\G
确保Slave_IO_Running
和Slave_SQL_Running
都是Yes
。测试复制:
请注意,这只是一个基本的MySQL主从复制设置。在生产环境中,你可能需要考虑更多的因素,比如数据一致性、故障转移、安全性等。此外,MySQL也提供了更高级的集群解决方案,如MySQL Group Replication和MySQL Cluster,这些解决方案提供了更高可用性和自动故障转移功能。如果你需要这些高级特性,你可能需要查阅MySQL官方文档来获取更详细的指导。