1. 安装MySQL
可以使用 apt-get 工具在 Ubuntu 上安装 MySQL 服务器。在终端中输入以下命令:
sudo apt-get update
sudo apt-get install mysql-server
输入service mysql status确保mysql在正常运行:
2. 配置主服务器
编辑 /etc/mysql/mysql.conf.d/mysqld.cnf 文件,在文件末尾添加以下配置:
server-id=1
log_bin=/var/log/mysql/mysql-bin.log
binlog_do_db=mydatabase
其中,server-id 表示 MySQL 实例的唯一标识,log_bin 指定二进制日志文件的位置和文件名,binlog_do_db 指定需要复制的数据库名称。
3. 重启MySQL服务器
在终端中输入以下命令:
sudo service mysql restart
4. 创建主服务器上的复制账户
在 MySQL 中执行以下 SQL 命令:
CREATE USER 'replication'@'slave_ip' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication'@'slave_ip';
FLUSH PRIVILEGES;
其中,slave_ip 表示从服务器的 IP 地址,password 是复制账户的密码。
5. 获取主服务器的二进制日志信息
在 MySQL 中执行以下 SQL 命令:
SHOW MASTER STATUS;
记录下 File 和 Position 的值,后面从服务器需要用到。
6. 配置从服务器
编辑 /etc/mysql/mysql.conf.d/mysqld.cnf 文件,在文件末尾添加以下配置:
server-id=2
replicate-do-db=mydatabase
其中,server-id 表示 MySQL 实例的唯一标识,replicate-do-db 指定需要复制的数据库名称。
7. 重启 MySQL 服务器
在终端中输入以下命令:
sudo service mysql restart
8. 启动从服务器的复制进程:
在 MySQL 中执行以下 SQL 命令:
CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=157;
START SLAVE;
其中,master_ip 是主服务器的 IP 地址,password 是复制账户的密码,MASTER_LOG_FILE 和 MASTER_LOG_POS 分别是主服务器上的二进制日志文件名和位置,需要根据第 5 步中的信息进行修改。
至此,Ubuntu 上的 MySQL 主从复制配置就完成了!