一、安装MariaDB
安装过程省略。
二、主从配置
环境
Master/Slave | 系统 | IP | 数据库版本 |
Master | CentOS6.7 | 10.10.3.211 | mariadb-10.1.19 |
Slave | CentOS6.7 | 10.10.3.212 | mariadb-10.1.19 |
1、Master的配置
(1)创建有复制权限的用户,命令如下:
CREATE USER 'test'@'10.10.3.212' IDENTIFIED BY '';
REVOKE ALL PRIVILEGES ,GRANT OPTION FROM 'test'@'10.10.3.212';
GRANT RELOAD,LOCK TABLES, REPLICATION CLIENT ,REPLICATION SLAVE ON *.* TO 'test'@'10.10.3.212';
FLUSH PRIVILEGES;
(2)启用二进制日志
修改配置文件/etc/my.cnf,增加如下行:
log-bin = /usr/local/mysql/binlogs/master-bin
注:目录没有话就先创建上
(3)修改配置文件/etc/my.cnf,修改如下行:
server-id = 1
重启Master数据库服务
2、Slave的配置
(1)修改配置文件/etc/my.cnf,修改如下行:
server-id = 2
注:可用 show variables like 'server_id'; 查看 server_id 设置是否正确
(2)修改配置文件/etc/my.cnf,启用中继日志,关闭二进制日志(如果启用了二进制日志就把配置文件里的注释或删掉)
relay-log = /usr/local/mysql/relaylogs/relay-bin
重启数据库服务,确定一下中继日志是否已开启。
SHOW GLOBAL VARIABLES LIKE 'relay_log';
(3)连接Master服务器
CHANGE MASTER TO MASTER_USER='test', MASTER_HOST='10.10.3.211', MASTER_PASSWORD='';
CHANGE MASTER TO MASTER_USER='test', MASTER_HOST='10.10.3.211', MASTER_PASSWORD='',MASTER_LOG_FILE = 'mysql-bin.000129',MASTER_LOG_POS = 720905150;
(4)启动复制线程:
START SLAVE;
查看一下状态
SHOW SLAVE STATUS\G
(5)测试在Master上创建一个数据库,看Slave上有没有同步过来。
在测试过程中发现,如果在Slave上直接修改一条数据,Master上再去对该条数据进行修改就无法同步到Slave。
3、其他配置
#要复制的数据库
replicate-do-db = xsmart_drmp
#不复制的数据库
replicate-ignore-db = mysql
replicate-ignore-db = performance_schema
replicate-ignore-db = information_schema
#要复制的表
replicate-wild-do-table = xsmart_drmp.drmp_historyrecordsecond% (可用通配符%匹配)
#不复制的表
#replicate-wild-ignore-table =