我使用创建原始数据文件的mysql-主从复制,设置后,它返回table xxx doesn't exists
时,查询分区表,但它的工作在其他表
和,当我改变使用mysqldump,这一切都工作正常。
谁能帮我解决这个问题?如果分区表不工作,但其他表工作,并且mysqldump工作正常,我最好的猜测是您的分区数据没有存储在与其他数据相同的位置。因此,当您使用tar、zip或rsync方法复制数据目录时,您遗漏了组成分区表的数据。您需要找到分区数据的存储位置,并将其与数据目录的其余部分一起移动。
然而,根据你下面的评论,你得到了著名的薛定谔表。基于薛定谔猫悖论,这是Mysql认为表存在的地方,因为当你运行show tables
时,它显示出来,但不允许你查询它;
通常这是由于没有正确地复制元数据(如ibdata1
文件和ib_logfiles
文件)。为了测试这一点,您可以做的一件事是,如果可能的话,从表中删除分区并再次尝试rsync。如果仍然出现此错误,则与表已分区无关。然后,这个测试会让我相信你没有正确地复制所有的数据。