windows实现mysql读写分离

一、主服务器(master)配置


1、修改MySQL配置文件my.ini


[mysqld]


log-bin=mysql-bin #开启主从复制,主库的配置
log-bin-index=mysql-bin.index
server-id=1 #指定主库serverid,主库的id要比从库的id小
sync_binlog=1
binlog_format=mixed
binlog-do-db=test #指定同步的数据库,如果不指定则同步全部数据库
binlog-ignore-db=mysql #指定不同步的数据库
binlog-ignore-db=performance_schema
binlog-ignore-db=information_schema


配置完成后重启MySQL服务。


2、授权给从服务器(slave)同步数据的账号密码


GRANT REPLICATION SLAVE ON *.*TO 'zhanghao'@'192.168.174.131' IDENTIFIED BY '123456';


参数说明:


注意:授权给slave的账号不能是root,root只可以本地登录,因此,我此处给出的是zhanghao;另外防火墙需要关闭,或者对外开放3306端口,否则后期会失败


zhanghao:slave连接master使用的账号
IDENTIFIED BY '123456' :slave连接master使用的密码
192.168.174.130:slave IP
执行命令:show master status\G    
这个命令不需要分号

注意结果中的File和Position,配置从服务器(slave)时会用到。


 


二、从服务器(slave)配置


注意:当program Files文件夹中的mysql文件夹里找不到my.ini,只能找到my_default.ini时,可以去c盘的programData中找mysql,在它下面可以找到my.ini



1、修改MySQL配置文件my.ini


[mysqld]


server-id=2
log-bin=mysql-bin
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
sync_master_info=1
sync_relay_log=1
sync_relay_log_info=1


2、设置连接主服务器(master)的信息


先执行关闭命令  :  stop slave;


然后执行






change master to master_host='192.168.174.130',master_user='zhanghao',master_port=3306,master_password='123456',master_log_file='mysql-bin.000008',master_log_pos=170;






参数说明:


master_host:master IP
master_user:master数据库通过GRANT授权的账号
master_port:master数据库使用的端口号
master_password:master数据库通过GRANT授权的密码
master_log_file:master数据库中通过show master status/G显示的File名称
master_log_pos:master数据库中通过show master status/G显示的Position数据,注意不带引号
重启MySql服务。


执行命令:start slave;


执行命令:show slave status\G


当Slave_IO_Running与Slave_SQL_Running都为Yes时才算配置成功。


此时,master服务器上test数据库里的数据就能同步到slave服务器上的test数据库中。


 

猜你喜欢

转载自blog.csdn.net/sdzhangshulong/article/details/79045019
今日推荐