一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第11天,点击查看活动详情。
1、主数据(master)的my.cnf配置:
配置解释:
#设置主服器id,可以任意配置,但是主从数据库这个项的编号不能重复
server-id=214
#开启binlog日志同步功能
sync_binlog=1
#日志保留天数(本案例为5天)
expire_logs_days=5
#二进制日志(binarylog)文件名(可以任意命名)
log-bin=master-bin
binlog index文件名(可以配置,也可不配)
log-bin-index=master-bin.index
2、从数据库(slave)的my.cnf配置:
配置解释:
#是否只读,0:代表非只读,1:代表只读
read-only=1
#设置从服器id,可以任意配置,但是主从数据库这个项的编号不能重复
server-id=105
#开启binlog日志同步功能
sync_binlog=1
#日志保留天数(本案例为5天)
expire_logs_days=5
#中继日志(relaylog)文件名(可以任意命名)
relay-log=salave-bin
relaylog index文件名(可以配置,也可不配)
relay-log-index=slave-relay-bin.index
3、主数据(master)设置:
(1)进入主数据的bin目录:cd /sdb/mysql/mysql57/bin/
(2)登录到mysql数据库:./mysql -uroot -P3316 -h127.0.0.1 –p (注释:./mysql -uroot –P数据库访问端口号 -h127.0.0.1 –p)
(3)创建数据同步账号,假设名称是park(名称随便起):
create user '用户名'@'%' identified by '密码';
例如:create user 'park1'@'%' identified by 'mysql';
(4)赋予从库访问主库权限,执行如下命令:
grant replication slave on . to '用户名'@'%' identified by '密码';
例如:grant replication slave on . to 'park1'@'%' identified by 'mysql';
(5)查看主数据库状态,这里主要是查看数据库的日志记录文件名称,以及日志记录行号,后续配置从库要用到:show master status;
4、从数据库(slave)设置
(1)进入从数据库的bin目录:
(2)登录到mysql数据库:./mysql -uroot -P3316 -h127.0.0.1 –p
(3)设置从数据库到主数据库连接:
change master to master_host='10.16.1.214',master_port=3316,master_user='park1',master_password='mysql',master_log_file='master-bin.000001',master_log_pos=1377;
注释:
master_host:主数据库ip地址;
master_port:主数据库访问端口号;
master_user:主数据库连接用户名;
master_password:主数据库连接用户密码;
master_log_file:开始同步主数据库日志文件名,在主数据库通过show master status命令查看file列的值;
master_log_pos:开始同步主数据库日志文件开始位置,在主数据库通过show master status命令查看position列的值;
(4)开启主从同步:start slave;
(开启主从同步命令:start slave; 关闭主从同步命令:stop slave;)
(5)查看主从同步状态:show slave status\G;
只有标注位置都是YES,说明主从同步正常。
5、校验主从同步,分别查看主库从库的数据库用户,然后在主库创建一个数据库用户,查看从库是否创建成功: