数据库A和数据库B是建立在两台独立的数据库服务器上,那么采用dblink方式是一种可行的方式,存在两个数据同步过程:
一、数据库A正常运行的时候需要将数据同步到备用库即数据库B;
二、数据库A不正常的时候启用数据库B,在数据库A恢复正常之前的数据更新都发生在数据库B,那么需要将数据库B的数据同步给数据库A。
第一种方式:前提是数据库A和数据库B本地网是24小时互通的同时对数据同步实时性有比较高的要求,那么可以建立DBLINK,在两个库都建触发器,不管当前在哪个库发生数据更新的时候实时同步数据到目标数据库;
1.主上修改my.cnf文件:server-id=1
log-bin=mysql-bin
2.从上修改配置文件 my.cnf
server-id=2
relay-log=relay-bin
read-only =1
replicate-ignore-db = mysql
replicate-ignore-db = test
replicate-ignore-db = information_schema
#replicate-wild-do-table = tt.admin
replicate-wild-do-table = my_db.stu // 所要同步的数据库的单个表
3. 创建 同步的用户(主上)
grant replication client,replication slave on *.* to rep@'10.41.50.105' identified by 'root'
4.同步到主库(在从上 *** 作)
change master to master_host='10.41.50.80',master_user='rep',master_password='root'
5.在从上验证:
show slave status\G
主从同步某些表
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)