MySQL 5.6 双机热备
目录:
1、说明
2、数据手工同步
3、修改主数据库配置文件
4、修改从数据库配置文件
5、主数据库添加备份用户
6、从数据库设置为Slave
7、验证
1、说明
1)数据库版本要高于5.1(本例中使用5.6)
2)从数据库的版本要 >= 主数据库服务器的版本
3)数据库操作所用工具为 :Navicat for MySQL
4)主数据库IP:192.168.0.101
从数据库IP:192.168.0.100
2、数据手工同步
注意:自动同步前,保证两个数据库的数据相同。
图1
图1为主服务器的连接信息,root用户登录,连接名为101,为保证数据库一致,新建数据库qqq。
图2
图2为从服务器的连接信息,root用户登录,连接名为101,为保证数据库一致,新建数据库qqq。
注:很多电脑存在能够连接本地服务器不能连接远程服务器的情况,文章后边会给出解决方法。
1) 主数据(192.168.0.101)库导出要备份的数据,示意图如下:
1) 从数据库(192.168.0.100)导入主数据库的备份数据,示意图如下:
建议主服务器远程登录从服务器,方便文件导入。
信息日志中查看不要出现错误。
3、修改主数据库配置文件
1)找到配置文件(主机IP:192.168.0.101)
C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
安装版的配置文件默认在数据文件夹中,名称为my.ini(注意:不是在程序文件夹中,程序文件夹中的配置文件名为my-default.ini,修改后不起作用)
2)修改配置文件,(最好备份一下原来的配置文件,因为修改后可能出现重启mysql服务1067错误)
左边为原来的文件,右边为修改后的文件
server_id = 101 (设置问IP的最后一位即可)
log_bin=mysql-bin (二进制日志文件名称,如不配置,show master status;时提示Empty set)
binlog-do-db =qqq (要备份的数据库名称)
log_bin_trust_function_creators=TRUE (若涉及及同步函数或者存储过程需要配置,否则主备会产生异常不能同步 )
示意图如下:
3)重启服务器
4、修改从数据库配置文件
1)找到从数据库的配置文件(主机IP:192.168.0.100)
2)修改配置文件
左边为原来的文件,右边为修改后的文件
server_id = 100(设置问IP的最后一位即可)
示意图如下:
3) 重启服务器
5、主数据库添加备份用户
1)选择运行SQL文件窗口
2)运行命令
grant replication slave on *.* to 'tantuls'@'%' identified by 'world';
作用:只赋予这个用户 “主从复制” 权限
示意图如下:
3) 这个用户用于从服务器同步数据。
6、从数据库设置为Slave
1)查询主服务器(192.168.0.101)的日志名称和pos:
命令行:show master status;
示意图如下:
2)从数据库服务器(192.168.1.103)打开运行命令界面,并输入以下内容:
命令行:
change master to
master_host='192.168.0.101',
master_user='tantuls',
master_password='world',
master_log_file='mysbin.000003',
master_log_pos=543;
说明:
master_host:主服务器的IP地址
master_user:主服务器设置的备份用户
master_password:主服务器备份用户密码
master_log_file:主服务器的日志名称
master_log_pos:主服务器的位置
示意图如下:
3)开启Slave
输入命令:start slave;
7、验证
1)查询从服务器
命令:show slave status;
2)在主服务器中添加一个表和数据后,验证一下是否同步到从服务器。对数据进行增删改查看是否同步成功。
本文参考资料进行改写,原网址
http://www.cnblogs.com/sshoub/p/4392688.html
以上内容全部介绍完毕,现就能够连接本地服务器不能连接远程服务器的情况给出解决方法。
mysql -u root -p
mysql>use mysql;
mysql> select host,user,password from mysql.user;
mysql>update user set host = '%' where user ='root';
mysql>delete
from user where user='root' and host!= '%';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:删除host名不是%的user,刚安装的mysql会有127.0.0.1和::1用户
第六句:刷新MySQL的系统权限相关表
第七句:再重新查看user表时,有修改。。
重起mysql服务即可完成。