部署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';
2.2.修改主数据库的mysql的配置文件
#在mysql配置文件中加入下面这两句,yibaihui是您要同步的数据库 server-id = 1 binlog-do-db = yibaihui
2.3.查看主数据库状态
phpmyadmin中执行以下代码, 截图中到File和Position抄写到3.2步骤中
show master status;
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;