mysql集群搭建-主从双机,读写分离配置

135 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 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、校验主从同步,分别查看主库从库的数据库用户,然后在主库创建一个数据库用户,查看从库是否创建成功: