如何在Linux上配置数据库主从复制
在Linux系统下,配置数据库主从复制是一项常见的任务。主从复制可以提供数据冗余备份、负载平衡和高可用性等优势。本文将介绍如何在Linux上配置数据库主从复制的步骤,并提供相应的代码示例。
步骤一:安装数据库软件
首先,我们需要在主服务器和从服务器上安装相应的数据库软件。本文以MySQL数据库为例,安装过程如下:
-
在主服务器和从服务器上执行以下命令来安装MySQL数据库:
sudo apt update sudo apt install mysql-server
步骤二:配置主服务器
接下来,我们需要在主服务器上进行一系列配置:
-
编辑MySQL配置文件
/etc/mysql/mysql.conf.d/mysqld.cnf
,取消以下行的注释(删除行前的#
):#bind-address = 127.0.0.1 #log_bin = /var/log/mysql/mysql-bin.log #binlog_do_db = mydatabase
-
重启MySQL服务器:
sudo service mysql restart
-
登录MySQL服务器并执行以下SQL命令:
mysql -u root -p
在MySQL交互界面中执行:
CREATE USER 'replication'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%'; FLUSH PRIVILEGES; FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS;
记下
File
和Position
字段的值,我们将在从服务器上用到。 -
解锁表格:
UNLOCK TABLES;
步骤三:配置从服务器
接下来,在从服务器上进行一系列配置:
-
编辑MySQL配置文件
/etc/mysql/mysql.conf.d/mysqld.cnf
,取消以下行的注释:#bind-address = 127.0.0.1
-
重启MySQL服务器:
sudo service mysql restart
-
登录MySQL服务器并执行以下SQL命令:(将
<master-ip>
替换为主服务器的IP地址,<master-file>
和<master-position>
替换为上一步中记录下的File
和Position
字段的值。)mysql -u root -p
在MySQL交互界面中执行:
CHANGE MASTER TO MASTER_HOST='<master-ip>', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_LOG_FILE='<master-file>', MASTER_LOG_POS=<master-position>; START SLAVE;
-
检查从服务器的状态:
SHOW SLAVE STATUSG
确保
Slave_IO_Running
和Slave_SQL_Running
字段的值都为Yes
,表示主从复制已经成功配置。
至此,我们已经完成了在Linux上配置数据库主从复制的过程。
总结
本文介绍了在Linux系统下配置数据库主从复制的步骤,并提供了相应的代码示例。通过主从复制,我们可以获得数据冗余备份、负载平衡和高可用性等好处。配置主从复制时需要注意主服务器和从服务器的软件安装和配置,以及正确设置主从服务器的连接和权限。希望本文对你在Linux系统上配置数据库主从复制有所帮助。
原文来自:www.php.cn
暂无评论内容