linux – MySQL Master – Master Broken
我继承了一个Mysql主系统,我注意到了第二个主设备(从现在开始称它为slave,因为它在’slave’机器上运行)停止了它的db更新.
我看到了 主: Slave_IO_Running: Yes Slave_SQL_Running: Yes 奴隶:(我被截断的错误) Slave_IO_Running: Yes Slave_SQL_Running: No Last_Errno: 1062 Last_Error: Error 'Duplicate entry '3' for key 'PRIMARY'' on [...] 我不知道是什么导致它处理,因为我们不能在那里复制.重要的是恢复正常运作; 现在我已经停止了奴隶;在主人和停止奴隶;在Slave上,因为我看到如果我在Slave上更改记录,那么更改Do Do Propagated to Master正在使用中. 我如何能: UPDATE Last_Errno: 1060 Last_Error: Error 'Duplicate column name [...] Query: 'ALTER TABLE [...] 如何跳过fracking alter语句我只是想复制血腥数据并用它来完成,我的表已经有了很多变化已经FFS现在它抱怨几周前复制后发生的变化 如何重置日志或其他内容? 优秀 解决方法
首先,您需要了解MySQL复制仅同步CHANGES.清空表(或删除它们)将不会再次复制数据.您必须使用一组一致的数据文件启动从站.
重新种子奴隶的粗略过程如下:(不要按照这些说明) >获取数据的一致快照. 如果您无法忍受停机时间,那么有两种方法可以实现此目的. >如果您的数据足够小,您可以mysqldump包括数据在内的所有内容,then these instructions are good.如果您有多个数据库,请务必阅读本文,因为我不打算在此处复制这些注意事项.但是如果你只有1个数据库,基本步骤是: >在主服务器上,像这样备份数据库:mysqldump -u root -e -q –single-transaction –master-data database_name >如果您的数据库对于mysql转储来说太大,那么您将需要使用操作系统的卷快照功能对表进行快照.这将暂停你的MySQL服务器几秒钟,所以最好在几小时后完成它可能不会打扰任何人. >在mysql shell中的master上,对所有表执行写锁定,以使用具有写锁定的刷新表来使它们保持一致.这将有效地暂停服务器.>不要退出mysql shell,否则你将失去锁定.>在另一个OS shell中,获取mysql数据卷的快照.>返回mysql shell:SHOW MASTER STATUS获取当前日志位置,然后UNLOCK TABLES释放锁定.服务器现已取消暂停.>访问快照并将mysql数据文件复制到从属服务器.>在mysql shell中的slave上运行类似的东西,但是使用步骤#4中的信息进行更新:START SLAVE UNTIL MASTER_LOG_FILE =’bin.000029′,MASTER_LOG_POS = 651322976; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 是否有适用于Linux的SSTP(安全套接字隧道协议)服务器?
- linux中的异常处理
- linux – 名称解析暂时失败
- 共享库 – Linux ELF文件:如何获取属于导入函数的共享对象
- linux – PostgreSQL 7.4 => 8.1迁移:时区问题
- 小白都能看懂的Linux系统下安装配置Zabbix
- 为什么在Linux上使用RS-232时CTRL C不起作用?
- 如何从非root linux用户使用Source安装MySQL 5.5?
- linux – Apache webserver和Tomcat:同时运行多个tomcat w
- mount 需要同时设置 noatime 和 nodiratime 吗?