CentOS 7 MariaDB主从复制配置搭建详解步骤
简介
MariaDB主从复制是指将主数据库的数据同步复制到从数据库上,通常用于实现数据备份和负载均衡。本文将介绍如何在CentOS 7上配置MariaDB主从复制。
环境准备
- 主服务器:IP地址为192.168.1.100,MariaDB版本为10.3;
- 从服务器:IP地址为192.168.1.101,MariaDB版本为10.3。
配置主服务器
1. 安装MariaDB
使用以下命令在主服务器上安装MariaDB:
yum install mariadb mariadb-server -y
2. 设置MariaDB
启动MariaDB并设置为开机启动:
systemctl start mariadb
systemctl enable mariadb
运行以下命令以保护MariaDB:
mysql_secure_installation
这会提示你设置MariaDB的root密码、删掉匿名用户、禁用root远程登录等。
3. 配置主数据库
编辑MariaDB的配置文件:
vi /etc/my.cnf
在文件的[mysqld]部分添加以下内容:
[mysqld]
log-bin=mysql-bin
server-id=1
其中,log-bin用来指定二进制日志文件位置,server-id是该服务器的ID。
重启MariaDB:
systemctl restart mariadb
4. 创建复制账户
使用root用户权限登录MariaDB,并创建一个复制账户:
CREATE USER 'replica'@'192.168.1.101' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.1.101';
FLUSH PRIVILEGES;
这样,就创建了一个名为replica的复制账户,准备接收从服务器复制过来的数据。
5. 获取主服务器状态
使用以下命令获取主服务器的状态,记录下其中的File和Position:
SHOW MASTER STATUS;
示例输出:
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 285 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
其中,File和Position将在配置从服务器时使用。
配置从服务器
1. 安装MariaDB
使用以下命令在从服务器上安装MariaDB:
yum install mariadb mariadb-server -y
2. 设置MariaDB
启动MariaDB并设置为开机启动:
systemctl start mariadb
systemctl enable mariadb
3. 配置从数据库
编辑MariaDB的配置文件:
vi /etc/my.cnf
在文件的[mysqld]部分添加以下内容:
[mysqld]
server-id=2
其中,server-id是该服务器的ID。
重启MariaDB:
systemctl restart mariadb
4. 设置从服务器连接主服务器
使用以下命令连接主服务器:
CHANGE MASTER TO
MASTER_HOST='192.168.1.100',
MASTER_USER='replica',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=285;
START SLAVE;
其中,MASTER_HOST为主服务器的IP地址,MASTER_USER和MASTER_PASSWORD为在主服务器上创建的复制账户名和密码,MASTER_LOG_FILE和MASTER_LOG_POS为使用SHOW MASTER STATUS命令获取到的File和Position。
5. 测试复制
使用以下命令在主服务器上创建一个新的数据库和表:
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE testtbl (name VARCHAR(10));
INSERT INTO testtbl VALUES ('test');
然后,在从服务器上检查是否成功复制:
USE testdb;
SELECT * FROM testtbl;
如果输出结果为test,即为复制成功。
结论
通过本文的步骤,你已经成功配置了MariaDB主从复制。在实际应用中,可以使用多个从服务器实现数据备份和负载均衡。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:centos7 mariadb主从复制配置搭建详解步骤 - Python技术站