Ubuntu MySQL复制功能详解

465
2025/3/16 12:32:49
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

MySQL主从复制是一种常用的数据库架构,用于实现数据的备份、负载均衡和故障恢复等功能。以下是在Ubuntu上配置MySQL主从复制的详细步骤:

1. 安装和配置MySQL

在主数据库和从数据库上安装MySQL。在Ubuntu上,可以使用以下命令安装MySQL:

sudo apt update
sudo apt install mysql-server

安装完成后,需要对主数据库和从数据库进行一些配置。

2. 配置主数据库

在主数据库上,编辑MySQL配置文件以启用二进制日志和配置唯一标识符。打开MySQL配置文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

在文件中找到以下行,并确保它们的值如下:

log_bin  /var/log/mysql/mysql-bin.log
server_id  1

保存并关闭文件,然后重新启动MySQL服务:

sudo service mysql restart

3. 创建复制用户

在主数据库上,创建一个用于复制的用户,并授予适当的权限。登录到MySQL控制台:

mysql -u root -p

在MySQL控制台上,执行以下命令来创建复制用户并授予复制权限:

CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
FLUSH PRIVILEGES;

4. 配置从服务器

在从服务器上,同样需要编辑MySQL配置文件以启用二进制日志和配置唯一标识符。配置参数如下:

server_id  2
relay_log=mysql-relay-binlog
log_slave_updates=1
read_only=1

重启动从服务器的MySQL:

sudo service mysql restart

5. 启动从服务器

在从服务器上,使用主服务器的信息启动从服务器对数据进行同步。执行以下SQL命令:

CHANGE MASTER TO 
MASTER_HOST='主服务器IP', 
MASTER_USER='replication_user', 
MASTER_PASSWORD='password', 
MASTER_LOG_FILE='mysql-bin.000001', 
MASTER_LOG_POS=154;

这里,MASTER_HOSTMASTER_USERMASTER_PASSWORDMASTER_LOG_FILEMASTER_LOG_POS需要根据主服务器的实际状态进行替换。

6. 验证复制是否成功

在从服务器上,运行以下命令检查复制的状态:

SHOW SLAVE STATUS\G;

如果你看到以下字段的值为Yes,则表示复制配置成功:

  • Slave_IO_Running: Yes
  • Slave_SQL_Running: Yes

同时,确保Last_Error字段为空,表示没有错误发生。

以上就是在Ubuntu上配置MySQL主从复制的基本步骤。请注意,主从服务器的MySQL版本应保持一致或从服务器版本不高于主服务器,以确保复制的顺利进行。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: ubuntu安装tigervnc的步骤是什么