标签:MySQL

MariaDB主从复制

MariaDB主从复制允许在多个服务器上实现数据的异步复制,可有效提升数据库的负载能力,也是实现读写分离方案的基础,是一种常用的HA方案。

环境说明

主库服务器: 192.168.71.151,CentOS 7,MariaDB 10已安装,无应用数据。
从库服务器1: 192.168.71.152,CentOS 7,MariaDB 10已安装,无应用数据。
从库服务器2: 192.168.71.153,CentOS 7,MariaDB 10已安装,无应用数据。
3个服务器的MariaDB都正常运行。
MariaDB 10服务器的常规安装配置可参照《MariaDB 10安装说明》

各个服务器的共同配置

以下操作在各个数据库服务器配置文件的[mysqld]部分下执行,数据库配置文件路径假定为 /etc/my.cnf 。
/etc/my.cnf 中有关于主从配置的一些说明,见my.cnf中# Replication Master Server (default)# Replication Slave (comment out master section to use this)部分。
打开各个数据库服务器的配置文件 my.cnf

  1. 检查确保各个服务器的skip-networking这行是注释掉的。主从复制需要数据库服务器使用IP监听的方式,不然使用UNIX socket方式监听,其他服务器访问不到。
  2. 把bind-address指定为各个服务器网卡的绑定IP上。即在配置文件的 #skip-networking行后面添加bind-address=192.168.71.x,在192.168.71.151上配置为bind-address=192.168.71.151,在192.168.71.152上配置为bind-address=192.168.71.152,在192.168.71.153上配置为bind-address=192.168.71.153
  3. 配置server_id。server_id值为1到2的32次方-1的整数,每个服务器都需要添加server_id配置,各个服务器的server_id需要保证唯一性互不相同,实践中通常设置为服务器IP地址的最后一位,即分别设置为server_id=151server_id=152server_id=153
    上述配置完后调用service mysql reload重新加载配置文件。

配置 主服务器

以下操作在主服务器192.168.71.151的/etc/my.cnf上进行。

确保log-bin是启用的

log-bin=mysql-bin是非注释状态的,log-bin没指定存储目录,则是默认datadir指向的目录,可登录MariaDB shell通过如下命令查看:

创建帐号并赋予replication的权限

从库 从主库复制数据时需要使用这个帐号进行

Filed under: 数据库Tagged with: