🚀 在两个 Ubuntu 节点上安装 MySQL 8.0
在node1和node2都执行
#更新源并安装 Mysql
sudo apt update
sudo apt install mysql-server -y
#启动并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql
⚙️ 配置主从复制(node1 为主,node2为从)
1.配置node1
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
#修改/添加:
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = mysql_ha
binlog_format = ROW
gtid_mode = ON
enforce_gtid_consistency = ON

✅验证配置语法:没有输出代表语法正确
sudo mysqld --validate-config
重启MySQL使配置生效
sudo systemctl restart mysql
🚀 登录到node2服务器
1、编辑MySQL配置文件
sudo mysql -uroot
2、执行主库连接
CHANGE MASTER TO
MASTER_HOST='192.168.1.103',
MASTER_USER='repl',
MASTER_PASSWORD='repl123',
MASTER_AUTO_POSITION=1;
登录 node1 MySQL:
3.1 配置主库连接
3.1.2 创建复制账号(允许 node2 连接)
CREATE USER 'repl'@'192.168.210.102' IDENTIFIED BY 'repl123';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.210.102';
FLUSH PRIVILEGES;
CHANGE MASTER TO
MASTER_HOST='192.168.1.103', -- 替换为 node-1 的 IP
MASTER_USER='repl',
MASTER_PASSWORD='repl123',
MASTER_AUTO_POSITION=1;
4、启动复制
START SLAVE;
5、验证状态✅
SHOW SLAVE STATUS\G


显示 node1 数据库已经存在 在去node2看看
在node2执行
SHOW DATABASES;

🎯 最终结论
- 主从复制配置 完全成功
- 主库的写操作已经正常同步到从库
- 报错只是因为重复创建已存在的数据库,属于正常现象
- node1(主库):
192.168.1.103 - node2(从库):
192.168.210.102 - 复制状态:✅ 正常运行