MySQL 主从配置 读写分离
Posted 刘叔一
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 主从配置 读写分离相关的知识,希望对你有一定的参考价值。
Master配置
1.创建用户:
在Master mysql上创建一个用户‘repl’,并允许其他Slave服务器可以通过远程访问Master,通过该用户读取二进制日志,实现数据同步。
create user repl;
2.配置用户权限:
repl用户必须具有REPLICATION SLAVE权限,除此之外没有必要添加不必要的权限,密码为mysql。说明一下192.168.0.%,这个配置是指明repl用户所在服务器,这里%是通配符,表示192.168.0.0-192.168.0.255的Server都可以以repl用户登陆主服务器。当然你也可以指定固定Ip。
GRANT REPLICATION SLAVE ON *.* TO ‘repl‘@‘%‘ IDENTIFIED BY ‘123456‘;
3.修改配置文件
找到MySQL安装路径修改my.cnf文件,将以下配置添加至[mysqld]节点中。
server-id=1 log_bin=mysql-bin binlog-do-db= binlog-ignore-db=
server-id=1 #设置服务器id,为1表示主服务器,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
log_bin=mysql-bin #启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
binlog-do-db= #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行
binlog-ignore-db= #不同步mysql系统数据库
4.重启数据库
service mysql restart
5.记录File及Position
需记录下Master的File及Position,配置Slave时会使用。
show master status;
Slave配置
1.修改配置文件
找到MySQL安装路径修改my.cnf文件,将以下配置添加至[mysqld]节点中。
server-id=2
log_bin=mysql-bin
binlog-do-db=
binlog-ignore-db=
server-id=1 #设置服务器id,为2表示从服务器,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
log_bin=mysql-bin #启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
binlog-do-db=osyunweidb #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行
binlog-ignore-db=mysql #不同步mysql系统数据库
2.配置Slave
注意:MySQL 5.1.7版本之后,已经不支持把master配置属性写入my.cnf配置文件中了,只需要把同步的数据库和要忽略的数据库写入即可。
slave stop; change master to master_host=‘192.168.21.169‘,master_user=‘repl‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000019‘ ,master_log_pos=7131;
slave start;
slave stop; #停止slave同步进程
change master to master_host=‘192.168.21.169‘,master_user=‘osyunweidbbak‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000019‘ ,master_log_pos=7131; #执行同步语句。其中master_logfile及master_log_pos需从master中查询。
slave start; #开启slave同步进程
3.查看状态
SHOW SLAVE STATUS\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上这两个参数的值为Yes,即说明配置成功。
以上是关于MySQL 主从配置 读写分离的主要内容,如果未能解决你的问题,请参考以下文章