建立mysql主从模式集群,实现mysql的读写分离方法

来源:互联网 发布:淘宝类目在哪里修改 编辑:程序博客网 时间:2024/06/07 00:27
mysql读写分离的好处我在这里不再赘述,下面我们直接开始配置mysql的主从模式,实现读写分离

我们创建两个虚拟机,建立mysql数据库,我这里两数据库服务器ip地址为:192.168.237.128/129

Master服务器:

1. 将128服务器设置为 master服务器,登录 mysql 的 root 用户
创建slave的在master服务器上的共享用户并授权
创建 repl 用户: create user repl;
并给repl用户授权:grant replication slave on *.* to 'repl'@'%' identified by '#你的密码#';
3.修改master服务器的/etc/my.cnf
[mysqld]作用域增加配置:
log-bin=mysql-bin #启用二进制日志文件
server-id=128 #服务器唯一id
log-bin-index=master-bin.index
4.重启mysql :service mysqld restart
登录mysql :show master status 查看master的状态,记录下file与position的值


Slave服务器:

1.修改slave服务器的/etc/my.cnf
[mysqld]作用域增加配置:
server-id=129
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index
重启mysql
登录mysql:
1. change master to master_host='192.168.237.128',master_port=3306,master_user='repl',master_password='#你的密码#',master_log_file='mysql-bin.000006',master_log_pos=28314;
这里更改slave服务器master主机配置,master_log_file与master_log_pos的值为master服务器上的配置
2. Start slave;  启动slave服务
3. Stop slave; 停止slave服务
4. Show slave status\G ; 查看slave服务器状态

*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.237.128
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000002
Read_Master_Log_Pos: 154
Relay_Log_File: slave-relay-bin.000002
Relay_Log_Pos: 320
Relay_Master_Log_File: mysql-bin.000002
Slave_IO_Running: Yes #当为yes时正常
Slave_SQL_Running: Yes #当为yes时正常
Replicate_Do_DB:
。。。

5.测试
master服务器登录mysql
创建一个数据库:create database master_slave_db;
创建一个表:user
slave服务器登录mysql,会发现数据库及user表已同步过来,证明数据库主从设置成功。

此时在项目中可分别配置读和写的数据源,或者使用数据库中间件来实现读写分离

0 0
原创粉丝点击