跳转至

部署MySQL数据库实时热备功能,让数据永远不丢失

如果主从数据库不在一个局域网内,要确保主数据库的mysql能够给外网访问,也就是使用Navicat等软件能够连接的上才行,如果使用宝塔就要到端口那里放行3306端口。

1.明确主从数据库IP

如果不在同一个局域网内,请使用外网IP

  • 主数据库:192.168.1.1
  • 从数据库:192.168.1.2

2.主数据库配置

注意主数据库中创建的这个用户是给从数据库访问主数据库用的,所以以下创建用户时填写的ip地址必须是从数据库的ip地址,相当于是为从数据库创建了一个用户,给从数据库访问主数据库的一个授权

2.1.创建一个用户

  • 192.168.1.2:从数据库IP地址~
  • mstest:是新创建的用户名~
  • 123456:是新创建的用户名的密码~
GRANT REPLICATION SLAVE,FILE ON *.* TO 'mstest'@'192.168.1.2' IDENTIFIED BY '123456';

image-20190617184721241

2.2.修改主数据库的mysql的配置文件

#在mysql配置文件中加入下面这两句,yibaihui是您要同步的数据库
server-id   = 1
binlog-do-db = yibaihui

image-20190628175836031

2.3.查看主数据库状态

phpmyadmin中执行以下代码, 截图中到File和Position抄写到3.2步骤中

show master status;

image-20190628182521479

3.从数据库配置

3.1.修改从数据库的mysql的配置文件

server-id=2
master-host=192.168.1.1  //主数据库的ip
master-user=mstest        //第一步创建账号的用户名
master-password=123456   //第一步创建账号的密码
master-port=3306
master-connect-retry=60
replicate-do-db=yibaihui        //要同步的yibaihui数据库

3.2.phpmyadmin中执行以下代码

将2.3步骤中的File和Position替换下下面sql中的MASTER_LOG_FILE和MASTER_LOG_POS

CHANGE MASTER TO MASTER_HOST='192.168.1.1',MASTER_PORT=3306,MASTER_USER='mstest',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000015',MASTER_LOG_POS=606;

3.3.启动从数据库

phpmyadmin中执行以下代码

·``` slave start;

**3.4.查看从数据库启动状态**

phpmyadmin中执行以下代码

·```
show slave status;

image-20190628182123781