哪些原因会导致mysql主从数据不一致

哪些原因会导致mysql主从数据不一致,第1张

1 在有主键或者唯一键的情况下,Slave 重放 Binlog 并不会去比较检索到的记录的每一列是否和BI相同,因此如果 Slave 和 Master 存在数据不一致,会直接覆盖 Slave 的数据而不会报错。

2 在没有主键或者唯一键的情况下,Hash Scan / Hash Scan Over Index 的执行效率 在理论上分析高于 Table Scan 和Index Scan 。

3 在没有主键或者唯一键的情况下,Slave 选择的二级索引是第一个所有的列都在 BI 中存在的索引,不一定是 Master 执行计划所选择的索引。

IP的设置:A主机 IP:10100119;Mask:25525500;B主机 IP:10108112;Mask:25525500

在IP设置完成以后,需要确定两主机的防火墙确实已经关闭。可以使用命令service iptables status查看防火墙状态。如果防火墙状态。

为仍在运行。使用service iptables stop来停用防火墙。如果想启动关闭防火墙,可以使用setup命令来禁用或定制。最终以两台主机可以相互ping通为佳。

32 配置A主(master) B从(slave)模式;321 配置A 为master。

增加一个用户同步使用的帐号:

GRANT FILE ON TO ‘backup’@'10108112' IDENTIFIED BY ‘1234’;

GRANTREPLICATION SLAVE ON TO ‘backup’@'10108112' IDENTIFIED BY ‘1234’。

赋予10108112也就是Slave机器有File权限,只赋予Slave机器有File权限还不行,还要给它REPLICATION SLAVE的权限才可以。

增加一个数据库作为同步数据库:create database test;

创建一个表结构:create table mytest (username varchar(20),password varchar(20));

修改配置文件:修改A的/etc/mycnf文件。

在mycnf配置项中加入下面配置:

server-id = 1 #Server标识

log-bin

binlog-do-db=test #指定需要日志的数据库

重起数据库服务:

service mysqld restart

查看server-id:

show variable like ‘server_id’。

--主机开两个窗口,一个进入mysql,一个是shell

--主机阻断写 *** 作

mysql> FLUSH TABLES WITH READ LOCK;

Query OK, 0 rows affected (000 sec)

mysql>

mysql>

mysql> SHOW MASTER STATUS;

+------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin000002 | 1529881 | openser | mysql,test |

+------------------+----------+--------------+------------------+

1 row in set (000 sec)

--另外一个窗口导出主机数据库

mysqldump -u root -p123456 --opt -R openser > openser20121203sql

--刚才的窗口主机解锁

mysql> UNLOCK TABLES;

Query OK, 0 rows affected (000 sec)

mysql>

--打包数据文件到从机

drop database openser;

create database openser;

mysql -u root -p123456 openser < openser20121127sql

--从机 *** 作

SLAVE STOP;

reset slave;

CHANGE MASTER TO MASTER_HOST='1921682126',

MASTER_USER='repl_user',

MASTER_PASSWORD='123456',

MASTER_LOG_FILE='mysql-bin000002',

MASTER_LOG_POS=1529881;

start slave;

show slave status\G

在sqlserver2000中可以选择关系图,新建关系图,选择要建立关系的主表和从表,然后一直下一步下一步,直到完成。

然后用鼠标拖着主表的字段到从表的字段,连成一线,会d出个框,一般点确定就可以了。

以上就是关于哪些原因会导致mysql主从数据不一致全部的内容,包括:哪些原因会导致mysql主从数据不一致、如何配置两个MySQL数据库之间的主从同步功能、mysql 数据怎么判断主从数据库已经同步等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9482442.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存