首页 > 文章列表 > 如何在Linux上配置数据库主从复制

如何在Linux上配置数据库主从复制

数据库 linux 主从复制
424 2023-07-07

如何在Linux上配置数据库主从复制

在Linux系统下,配置数据库主从复制是一项常见的任务。主从复制可以提供数据冗余备份、负载平衡和高可用性等优势。本文将介绍如何在Linux上配置数据库主从复制的步骤,并提供相应的代码示例。

步骤一:安装数据库软件
首先,我们需要在主服务器和从服务器上安装相应的数据库软件。本文以MySQL数据库为例,安装过程如下:

  1. 在主服务器和从服务器上执行以下命令来安装MySQL数据库:

    sudo apt update
    sudo apt install mysql-server

步骤二:配置主服务器
接下来,我们需要在主服务器上进行一系列配置:

  1. 编辑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
  2. 重启MySQL服务器:

    sudo service mysql restart
  3. 登录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;

    记下FilePosition字段的值,我们将在从服务器上用到。

  4. 解锁表格:

    UNLOCK TABLES;

步骤三:配置从服务器
接下来,在从服务器上进行一系列配置:

  1. 编辑MySQL配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,取消以下行的注释:

    #bind-address            = 127.0.0.1
  2. 重启MySQL服务器:

    sudo service mysql restart
  3. 登录MySQL服务器并执行以下SQL命令:(将<master-ip>替换为主服务器的IP地址,<master-file><master-position>替换为上一步中记录下的FilePosition字段的值。)

    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;
  4. 检查从服务器的状态:

    SHOW SLAVE STATUSG

    确保Slave_IO_RunningSlave_SQL_Running字段的值都为Yes,表示主从复制已经成功配置。

至此,我们已经完成了在Linux上配置数据库主从复制的过程。

总结
本文介绍了在Linux系统下配置数据库主从复制的步骤,并提供了相应的代码示例。通过主从复制,我们可以获得数据冗余备份、负载平衡和高可用性等好处。配置主从复制时需要注意主服务器和从服务器的软件安装和配置,以及正确设置主从服务器的连接和权限。希望本文对你在Linux系统上配置数据库主从复制有所帮助。