配置主从关系:其意为在主数据库修改数据,从数据库的数据也发生改变。实现数据库的读写分离,确保数据产品的稳定性。

主数据库,我用的是电脑本地安装的mysql数据库,ip:192.168.8.157

从数据库,用的是虚拟机的Windows系统的mysql数据库 ip:192.168.8.129



一、主数据库(master)配置


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


[mysqld]

log-bin=mysql-bin   //启用二进制日志

server-id=1     //服务器唯一ID,默认是1,



配置完成后重启MySQL服务。


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


找到mysql安装路径,bin下面,cmd     mysql -uroot -p123qwe  //通过cmd进入你的mysql数据库,


执行sql语句


GRANT REPLICATION SLAVE ON *.*TO 'root'@'192.168.8.129' IDENTIFIED BY '123qwe';// 给从数据库授权

GRANT REPLICATION SLAVE ON *.*TO 'root'@'192.168.8.157' IDENTIFIED BY '123qwe';//给主数据库授权(在开始配的时候可以先不执行,这是我配置时特殊情况,如果我不给主服务授权,从数据库连接show出来的结果 Slave_IO_Running 是 contenting而不是yes)



执行命令show master status\G;    

 +------------------+----------+--------------+------------------+
   | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
 +------------------+----------+--------------+------------------+
   | mysql-bin.000003 |      750|              |                  |
 +------------------+----------+--------------+------------------+  


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




二、从服务器(slave)配置


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


[mysqld]


log-bin=mysql-bin   
server-id=2 

2、设置连接主数据库(master)的信息


change master to master_host='192.168.8.157',master_user='root',master_port=3306,master_password='123qwe',master_log_file='mysql-bin.000003',master_log_pos=' 750'


参数说明:


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数据库中。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐