1、软件环境
操作系统:centos-release-7-4.1708.el7.centos.x86_64
数据库:5.5.56-MariaDB
2、安装配置数据库
yum install mariadb*
systemctl enable mariadb //开机启动
service start mariadb //启动数据库
service restart mariadb //重启数据库
service stop mariadb //停止数据库
master数据库配置:
[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sock# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0# Settings user and group are ignored when systemd is used.# If you need to run mysqld under a different user or group,# customize your systemd unit file for mariadb according to the# instructions in http://fedoraproject.org/wiki/Systemd# 指定唯一的server IDserver-id=1# 打开二进制日志log-bin=mysql-bin[mysqld_safe]log-error=/var/log/mariadb/mariadb.logpid-file=/var/run/mariadb/mariadb.pid## include all files from the config directory#!includedir /etc/my.cnf.d
slave数据库配置:
[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sock# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0# Settings user and group are ignored when systemd is used.# If you need to run mysqld under a different user or group,# customize your systemd unit file for mariadb according to the# instructions in http://fedoraproject.org/wiki/Systemd# server-id必须唯一,不能和master或者slave相同server-id=2# 配置中继日志relay_log=mysql-relay-bin# 防止改变数据()read_only=1# 如果此slave需要作为其他mysql的master,则需要把下边两行主食打开# log-bin=mysql-bin# log_slave_updates=1[mysqld_safe]log-error=/var/log/mariadb/mariadb.logpid-file=/var/run/mariadb/mariadb.pid
在master数据库,创建复制用户:
grant replication slave on *.* to 'foo' identified by 'foo123';
flush privileges;
启动master数据库,查看master状态:
启动slave数据库,并连接到master:
change master to master_host = '172.16.125.133',master_user='foo',master_password='foo123',master_log_file='mysql-bin.000005',master_log_pos='3522';
启动slave数据库:
start slave
停止slave数据库:
stop slave
重置slave数据库:
reset slave
查看slave状态:
其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。
3、测试
登录master数据库,创建数据库、表,insert数据:
create database foo default charset utf8 collate utf8_general_ci;create table foo (id bigint primary key auto_increment comment '主键', name varchar(100) default null comment '姓名');insert into foo (name) values ('章三');
登录slave数据库, 查看数据库, 表, 数据是否同步成功!
参考:http://blog.csdn.net/ydyang1126/article/details/70174334