====实验环境:==== ===虚拟机:VMware 14.1.1=== ===操作系统:Ubuntu 16.04.3 ,x86_64=== ===数据库版本:Ver 14.14 Distrib 5.7.21=== ==一、搭建试验环境== 为了快速搭建环境,直接复制虚拟机内的ubuntu系统,重命名即可模拟实际情况下的两台BS服务器 {{:idste:db1.png?400|}} ==二、修改2台服务器的名称== 主服务器改名为ubuntu-Main: {{:idste:db2.png?400|}} 备服务改名为ubuntu-Sub: {{:idste:db3.png?400|}} ==三、Mysql数据库主从配置== 数据库主从同步的前提,是连个数据库运行正常,且同步的数据库表结构要一致。 实验中主服务器ip:192.168.2.102 从服务器ip:192.168.2.103 1、数据库的同步实质上就是从数据库主数据库变更的二进制日志在本机上在执行一遍,所以开启二进制日志是必须的,配置路径 为:/etc/mysql/my.cnf,具体配置见下图: 主服务器配置: {{:idste:db4.png?400|}} 从服务器配置: {{:idste:db5.png?400|}} 2、登陆主数据库执行如下命令,以便确定从数据库需要同步的数据库的位置: {{:idste:db6.png?400|}} 由上图可知,File=mysql-bin.000001,Position=2008650 3、登陆从数据库执行如下命令,开启同步主数据库的动作: {{:idste:db7.png?400|}} {{:idste:db8.png?400|}} 开启slave,进行同步: {{:idste:db9.png?400|}} 4、查看同步状态: {{:idste:db10.png?400|}} 视乎情况不那么顺利,继续查看下部分报错: {{:idste:db11.png?400|}} 修改如些截图路径中的auto.cnf配置文件的中的UUID值,保证主从服务器的uuiD值不一样即可。为了方便起见,修改主数据库中的UUID {{:idste:db12.png?400|}} {{:idste:db13.png?400|}} 修改完毕后,重新下从数据库的slave服务后,大功告成,见下图: {{:idste:db14.png?400|}} 5、修改数据库,验证是否同步 {{:idste:db15.png?400|}} 将主数据库中表BaseInfo中的D06.01.06,修改为D06.01.09,然后查看从数据库中的BaseInfo表中已经更新。 {{:idste:db16.png?400|}} 登陆主服务器web新建一个账号,验证备服务器的web上也同时生成了该账号,删除主服务器web中账号,备服务器web中的账号也同时被删除。 {{:idste:db17.png?400|}} 通过上述验证,初步可以证明我司服务器环境下部署数据库主备同步功能测试通过。后期可以考虑在市场上推出主备服务器热备方案。