Ubuntu 如何实现 MySQL 主从复制

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 主从复制配置就完成了!

猜你喜欢

转载自blog.csdn.net/weixin_51418964/article/details/130280008