2019-07-24

主从复制,读写分离说明及配置

当业务越来越大,单台服务器已经不能扛住压力,此时添加服务器来分担流量压力,提高网站并发量。

实现读取分离功能至少两台数据库服务器,一台为主服务器负责写入数据服务,一台为从服务器负责提供查询服务,主服务器的任何操作都会同步到从服务器上。


主服务器配置:

vi my.cnf  # linux  my.ini #windows

[mysqld]

配置唯一的server-id

server-id= N(数字)

开启binlog二进制日志

log-bin=mysql-bin

获取master二进制日志文件名及位置

show master status;

创建一个用于slave和master通信的用户账号

#创建账号

grant权限  on 数据库.数据表  to  ‘用户名’@’ip地址’   identified  by ‘密码’;

#立刻生效

flush privileges;

从服务器配置

配置唯一的server-id

使用master分配的用户账号读取master二进制日志

#先停止从服务

stop slave;

CHANGE MASTER TO

  #主服务器地址

  MASTER_HOST='master2.mycompany.com',

#主服务器创建的通讯账号

  MASTER_USER='replication',

  #主服务器密码

  MASTER_PASSWORD='bigs3cret',

  #主服务器端口

  MASTER_PORT=3306,

  #主服务器binlog日志文件名

  MASTER_LOG_FILE='master2-bin.001',

 #日志记录起点位置

  MASTER_LOG_POS=4,

 #连接重试次数

  MASTER_CONNECT_RETRY=10;

#启动从服务器

start slave;


其他命令

#删除账号

drop  user‘用户名’@’ip地址’;

#执行该命令,就会产生一个新的binlog日志

flush logs;

#清空所有的binlog日志,并产生一个新的binlog日志

reset master;

#查看是否配置成功

show slave status\G;

Slave_IO_Running:Yes

此进程负责从服务器从主服务器上读取binlog日志,并写入从服务器上的中继日志。

Slave_SQL_Running:Yes

此进程负责读取并且执行中继日志中的binlog日志,

注:以上两个都为yes则表明成功

你可能感兴趣的:(2019-07-24)