配置Ubuntu MySQL主从复制涉及几个步骤。以下是一个基本的指南,帮助你设置MySQL的主从复制。
前提条件- 两台Ubuntu服务器(一台作为主服务器,另一台作为从服务器)。MySQL已经安装在两台服务器上。两台服务器之间可以互相通信(通常是通过网络)。
编辑MySQL配置文件:打开主服务器上的MySQL配置文件(通常是/etc/mysql/mysql.conf.d/mysqld.cnf或/etc/mysql/my.cnf),添加以下内容:
[mysqld]server-id = 1log_bin = /var/log/mysql/mysql-bin.logbinlog_do_db = your_database_name# 替换为你要复制的数据库名称重启MySQL服务:
sudo systemctl restart mysql创建复制用户:登录到MySQL并创建一个用于复制的用户:
CREATE USER 'replicator'@'%' IDENTIFIED BY 'your_password';# 替换为你的密码GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';FLUSH PRIVILEGES;获取二进制日志位置:登录到MySQL并获取当前的二进制日志位置:
FLUSH TABLES WITH READ LOCK;SHOW MASTER STATUS;记录下File和Position的值。
解锁表:
UNLOCK TABLES;编辑MySQL配置文件:打开从服务器上的MySQL配置文件(通常是/etc/mysql/mysql.conf.d/mysqld.cnf或/etc/mysql/my.cnf),添加以下内容:
[mysqld]server-id = 2relay_log = /var/log/mysql/mysql-relay-bin.loglog_bin = /var/log/mysql/mysql-bin.logbinlog_do_db = your_database_name# 替换为你要复制的数据库名称read_only = 1重启MySQL服务:
sudo systemctl restart mysql配置复制:登录到MySQL并配置复制:
CHANGE MASTER TOMASTER_HOST='master_ip_address',# 替换为主服务器的IP地址MASTER_USER='replicator',MASTER_PASSWORD='your_password',# 替换为你的密码MASTER_LOG_FILE='mysql-bin.000001',# 替换为你之前记录的File值MASTER_LOG_POS=123;# 替换为你之前记录的Position值;启动复制:
START SLAVE;检查复制状态:
SHOW SLAVE STATUS\G确保Slave_IO_Running和Slave_SQL_Running都是Yes。如果不是,请检查错误信息并进行相应的调整。
binlog_do_db中指定多个数据库名称,用逗号分隔。在生产环境中,建议使用更安全的复制用户权限和更复杂的密码。通过以上步骤,你应该能够成功配置Ubuntu MySQL的主从复制。如果有任何问题,请检查MySQL的错误日志以获取更多信息。
上一篇:Ubuntu虚拟机硬盘管理技巧
下一篇:ubuntu镜像如何优化磁盘空间
Ubuntu









