目前我有两个运行MySQL的Linux服务器,一个位于我旁边的机架上,位于10 Mbit/s上传管道(主服务器)下,另一个位于几英里外的3 Mbit/s上传管道(镜像)上.
我希望能够连续在两台服务器上复制数据,但遇到了几个障碍.其中一个是,在MySQL主/从配置下,时不时地,一些语句掉落(!),意思是; 登录镜像URL的某些人看不到我知道的数据在主服务器上,反之亦然.假设这种情况每月发生在一个有意义的数据块上,所以我可以忍受它,并假设它是一个"丢包"问题(即上帝知道,但我们会补偿).
另一个最重要(也很烦人)反复出现的问题是,当由于某种原因我们在一端进行主要上传或更新(或重新启动)并且必须切断链接时,那么LOAD DATA FROM MASTER不起作用我有要在一端手动转储并在另一端上传,现在相当重要的任务是移动一些0.5 TB的数据.
有这个软件吗?我知道MySQL("公司")提供这是一项非常昂贵的服务(完整的数据库复制).那里的人做了什么?它的结构方式,我们运行自动故障转移,如果一台服务器没有启动,那么主URL就会解析到另一台服务器.
我正在为运行一堆数据库(每个客户端一个)的服务器设置复制,并计划在my.cnf上一直添加更多数据库,而不是:
binlog-do-db = databasename 1
binlog-do-db = databasename 2
binlog-do-db = databasename 3
...
binlog-do-db = databasename n
Run Code Online (Sandbox Code Playgroud)
我可以宁可拥有
binlog-ignore-db = mysql
binlog-ignore-db = informationschema
Run Code Online (Sandbox Code Playgroud)
(并且没有指定日志的数据库)并假设其他所有内容都已记录?
编辑:实际上,如果我删除所有binlog-do-db条目,它似乎记录了所有内容(正如您在移动数据库时看到的二进制日志文件更改位置),但在从属服务器上,没有任何东西被拾取!(也许,这是使用replicate-do-db的情况?这会破坏这个想法;我想我不能让MySQL自动检测要复制的数据库).
我正在运行一个主从MySQL二进制日志复制系统(p!),对于某些数据,它不同步(意味着,主机拥有的数据多于从机).但是奴隶经常在最轻微的MySQL错误上停止,这可以被禁用吗?(也许是复制奴隶的my.cnf设置ignore-replicating-errors或者某种类型;))
这就是发生的事情,当奴隶试图复制一个不存在的物品时,奴隶就会死亡.快速查看SHOW SLAVE STATUS\G; 给
Slave-IO-Running: Yes
Slave-SQL-Running: No
Replicate-Do-DB:
Last-Errno: 1062
Last-Error: Error 'Duplicate entry '15218' for key 1' on query. Default database: 'db'. Query: 'INSERT INTO db.table ( FIELDS ) VALUES ( VALUES )'
Run Code Online (Sandbox Code Playgroud)
我通过执行以下操作立即修复(一旦我意识到奴隶已经停止):
STOP SLAVE;
RESET SLAVE;
START SLAVE;
Run Code Online (Sandbox Code Playgroud)
... ...最近这已经变得有点烦人了,在我吐出某种PHP为我做这个之前,我想知道是否有一些my.cnf条目在第一次错误时不会杀死奴隶.
干杯,
/ MP
在Mysql Administrator中,在进行备份时,究竟什么是"兼容模式"?
我正在尝试将webmin生成的备份与mysql管理员中提供的上传工具联系起来.我的数据已经有一些不一致(滴答声,逗号等等,我认为)我只是不会试图纠结(他们可能会在未来重新出现).当我尝试恢复备份时,这些扭结会产生错误.
现在,如果我从webmin生成备份,然后使用MySQL管理员来恢复它们,它们就会失败.但是如果我使用MySQL Administrator生成备份并勾选"兼容模式",那么请转到MySQL管理员(另一个实例)并恢复......它可以工作!
根据MySQL,"兼容模式"是;
兼容模式创建与旧版MySQL Administrator兼容的备份文件.
另一方面,Webmin为我提供了以下兼容性选项:
你认为哪个最合适?我的数据集非常大,因此需要花费相当长的时间来逐一进行实验(特别是思考可能会蛮力破坏它).
编辑:好像它在做ANSI,但我不是百分之百.