MySQL数据库主从备份
基于8100平台的MySQL数据库主从备份,作用为容灾
工具/原料
Windows平台数据库文件(海康提供)
notepad++
两台windows虚拟机环境
方法/步骤
1、安装8100平台数据库
2、初始化数据库,设置密码(第一第二步都是和8100平台一样)
3、虚拟机新增两台,都为window2016,一台为192.168.142.27(master数据库),一台为192.168.142.28(从数据库)
4、用notepad++打开mysql文件夹里bin文件夹下的my.ini,修改参数(其余参数一样,主数据库server_id=1,从数据库server_id=2)


5、在主数据库所在服务器(90.27)用管理员开启cmd,进入mysql,依次输入◎GRANT replication slave ON *.* TO'testsync'@'%' identified by 'abc123,'; ◎flush privileges; ◎flush tables with read lock; ◎show master status; (记住File值和Position值)◎unlock tables;

6、在从数据库所在服务器(90.28)用管理员开启cmd,进入mysql,依次输入◎GRANT replication slave ON *.* TO'testsync'@'%' identified by 'abc123,'; ◎flush privileges; ◎change master to master_host='192.168.100.217', master_port=3306,master_user='testsync',master_password='abc123,',master_log_file='binlog.000003',master_log_pos=598; ◎start slave; ◎show slave status \G;(查看Slave_IO_RUNNING和Slave_MYSQL_RUNNING字段,都为YES成功)
7、Slave_IO_RUNNING为NO,查找出错字段值,错误提示:UUID相同,从数据库所在服务器找到mysql\data文件夹下的auto.cnf,删除然后重启myql服务



9、(待证明)安装服务管理中心,进入8100平台,主数据库所在服务器进入后添加设备,如果从数据库所在服务器的8100平台也会自动添加设备,证明成功
主从数据库问题汇总
从数据库执行 ◎show slave status \G 发现IO_RUNNING字段出现connecting状态
- 返回◎change master to master_host='192.168.100.217', master_port=3306, master_user='testsync',master_password='abc123,', master_log_file='binlog.000003',master_log_pos=598; 查询发现master_host值出错,改成成功
Slave_IO_RUNNING为NO,查找出错字段值,错误提示:UUID相同
- 从数据库所在服务器找到mysql\data文件夹下的auto.cnf,删除然后重启myql服务




据库执行◎mysql -h 192.168.142.28 -u ddl_mgr -p 输入密码连接错误
- 在确认网络开通和防火墙关闭的情况下,在my.ini里注释掉◎log-bin = mysql-bin
注释掉了◎log-bin = mysql-bin依旧出错
- 进入data文件夹查看扩展名为.err的文件(错误日志),找到错误为?unknown Variable'master-host = 192.168.142.27',发现my.ini里有这条代码,删除

在配置成功的情况下(Slave_IO_Running和Slave_SQL_Running)主从数据库在8100平台更改密码,主数据库ivms8100v3库内users字段值发生变化,而从数据库不改变
- 把主从数据库所在bin文件夹内的my.ini文件增加一条参数和注释掉一条参数。解压iVMS-8100v3_mysql_winx64.zip 文件下的bin文件夹内的my.ini,在第468行有一条◎binlog-ignore-db = mysql 的代码行,注释掉,主要是为了避免MYSQL在语句书写方式上的错误。
”当使用binlog_ignore_db选项时,必须采用use db; sql;的书写方式,而类似insert into schema.table的语句则不会被记录到binlog;
我们手工测试的时候采用了use db;sql的方式,所以备库可以同步此信息,而应用大部分采用schema.table的方式,故备库无法同步主库数据,因为主库根本没有记录进binlog;“
注释掉后,在增加一条◎binlog-do-db = ivms8100v3,作用是同步8100平台数据库,以达到主从数据库同步8100平台信息的作用
”2、主数据库配置
A、修改配置文件/etc/mysql/my.cnf
任何一台MySQL数据库服务器都可以配置为集群主服务器,打开MySQL的配置文件,在配置文件中加入下面两行:
server-id = 1
log-bin = binlog_repl
binlog-do-db = test //设置需要同步的数据库,如果需要设置多个,则加入多条这行语句。“
浙公网安备 33010602011771号