2019独角兽企业重金招聘Python工程师标准>>>
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/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-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
server-id=1
# 打开二进制日志
log-bin=mysql-bin
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
slave数据库配置:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-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.log
pid-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