在Debian系统上进行MySQL集群部署有多种方法,以下是其中两种常见的方案:
修改配置文件
[mysqld] server-id = 1 log-bin = mysql-bin binlog-do-db = your_database_name sync_binlog = 1 binlog_format = mixed relay_log = relay-bin relay_log_index = relay-bin.index auto_increment_increment = 2 auto_increment_offset = 1 bind-address = your_server_ip port = your_port_number [mysqld] server-id = 2 log-bin = mysql-bin binlog-do-db = your_database_name sync_binlog = 1 binlog_format = mixed relay_log = relay-bin relay_log_index = relay-bin.index auto_increment_increment = 2 auto_increment_offset = 2 bind-address = your_server_ip port = your_port_number 创建复制用户 在两个服务器上的MySQL命令行执行以下SQL命令:
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%' IDENTIFIED BY 'strong_password'; FLUSH PRIVILEGES; 锁定表并获取二进制日志位置 在服务器A上执行:
FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS; 记录下返回的File和Position值。在服务器B上也执行同样的步骤,但记录服务器B的值时不要忘记先在服务器A上执行UNLOCK TABLES。
配置复制 在服务器B上设置复制服务器A的数据:
CHANGE MASTER TO MASTER_HOST='master1_ip_address', MASTER_USER='replication_user', MASTER_PASSWORD='strong_password', MASTER_LOG_FILE='master1_binlog_file', MASTER_LOG_POS=master1_binlog_position; 启动复制 在两台服务器上分别执行:
START SLAVE; 检查复制状态 在两台服务器上执行以下命令检查复制状态:
SHOW SLAVE STATUS \G; 确认以下两个字段的值为Yes:
安装MySQL 在每台服务器上安装MySQL:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb 选择所需的MySQL版本进行安装。
配置MySQL 编辑MySQL配置文件(例如/etc/mysql/my.cnf),确保以下配置:
[mysqld] ndbcluster ndb-connectstring = 192.168.1.1 启动MySQL服务 启动MySQL服务并确保其正常运行:
sudo systemctl start mysqld sudo systemctl enable mysqld 初始化集群 使用MySQL Shell初始化集群:
mysqlsh --defaults-file=/etc/mysql/my.cnf --user=mysql 在MySQL Shell中执行以下命令:
CREATE TABLESPACE myspace DATAFILE '/var/lib/mysql/data/mydatabase.dat' ENGINE=NDB; USE mysql; CREATE TABLE mytable ( id INT AUTO_INCREMENT PRIMARY KEY, value VARCHAR(255) ) ENGINE=NDB TABLESPACE myspace; 验证集群 插入数据并验证数据同步:
INSERT INTO mytable (value) VALUES ('test'); SELECT * FROM mytable; 在其他节点上验证数据是否同步。
希望这些步骤能帮助你在Debian系统上成功部署MySQL集群。如果有任何问题,请参考官方文档或相关社区资源。