mysql主从配置,实现读写分离

本文详细介绍了MySQL主从复制的配置过程,包括在Master服务器上创建具有复制权限的用户、配置my.cnf文件、重启MySQL服务及在Slave服务器上进行相应的配置等步骤。

#1,配置Master主服务器
(1)在Master MySQL上创建一个用户‘repl’,并允许其他Slave服务器可以通过远程访问Master,
通过该用户读取二进制日志,实现数据同步。

create user repl;
// repl用户必须具有REPLICATION SLAVE权限,除此之外没有必要添加不必要的权限,密码为123456。
说明一下192.168.0.%,这个配置是指明repl用户所在服务器,这里%是通配符,表示192.168.0.0-192.168.0.255
的Server都可以以repl用户登陆主服务器。当然你也可以指定固定Ip。
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.0.%' IDENTIFIED BY '123456';

(2)找到MySQL安装文件夹修改my.cnf文件,[mysqld]下面增加下面几行代码

server-id=1   //给数据库服务的唯一标识,一般为大家设置服务器Ip的末尾号
log-bin=mysql-bin
binlog_format=ROW          #复制模式

(3)重启mysql服务器

service mysqld restart

(4)登陆mysql查看master状态日志

show master status;
+-------------------+----------+--------------+------------------+-------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 |      120 |              |                  |                   |
+-------------------+----------+--------------+------------------+-------------------+

#2, 配置slave从服务器
(1)找到MySQL安装文件夹修改my.cnf文件,[mysqld]下面增加下面几行代码

server-id=2 //给数据库服务的唯一标识,一般为大家设置服务器Ip的末尾号

## 忽略表
# replicate-wild-ignore-table=mysql.*
# replicate-wild-ignore-table=sys.*

(2)重启mysql服务器连接master

change master to master_host='192.168.2.201', //Master 服务器Ip
master_port=3306,
master_user='repl',
master_password='123456', 
master_log_file='mysql-bin.000001',//Master服务器产生的日志(上面步骤4File字段的值)
master_log_pos=120; // show master status显示结果的Position值

(3)启动slave进行主从同步

start slave;

(4)查看slave状态日志

show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.112.132
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: master-bin.000003
          Read_Master_Log_Pos: 7131
               Relay_Log_File: slave-relay-bin.000005
                Relay_Log_Pos: 587
        Relay_Master_Log_File: master-bin.000003
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
            
//当Slave_IO_Running,Slave_SQL_Running 两个值都为Yes时,表示主从复制正在进行,
如果想停止同步,在从服务器上运行stop slave并删除上面my.cnf中添加的配置文件然后重启mysql服务即可即可。

OK所有配置都完成了,这时候大家可以在Master Mysql 中进行测试了,因为我们监视的时Master mysql 所有操作日志,所以,你的任何改变主服务器数据库的操作,都会同步到从服务器上。创建个数据库,表试试吧。。。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值