求助,两台服务器如何运行一个网站
@帆帆,教程发我
@帆帆,你是不是把主备搞反了,执行CHANGE MASTER TO的是备服务器,另一台是主服务器。如果搞反了,在主服务器删除了库,就会传播到备服务器,导致备服务器的库也被删除。
CHANGE MASTER TO
因为MySQL同步传播的是SQL语句,所以就算误操作时主服务器库里没有表,备服务器库里有表,从主服务器删除空库也会导致备服务器里有表的库被删除,因为同步是把主服务器里执行的DROP DATABASE xxx语句同步给了备服务器,所以无论库是否为空都能删掉。
DROP DATABASE xxx
因为同步是同步SQL语句,所以才有“把主服务器的data文件夹复制到备服务器”这一步,必须保证两边初始数据相同,后续通过同步执行相同的SQL语句时,两边的结果才能保持一致。
@帆帆,你的现象是不是,同步开始后,其中一个数据库始终是空的,然后你觉得同步失败了,然后就把那个空库删除了?
@帆帆,是从。但是复制可以是双向的,也就是说如果你之前反向操作过又没有取消,那它就同时是主和从,这样一来任何一边的删库操作都会同步到另一边,这就是楼主想要的主主同步。
@帆帆,但根据你描述的现象,弄错主从是最合理的解释。如果配置成了主主,在完成手动同步之后,然后就去主(我认为的)修改一条数据。回来看到从还是没有变化不会发生;如果没弄错,一删就完蛋,主也没了就不会发生。
然后就去主(我认为的)修改一条数据。回来看到从还是没有变化
一删就完蛋,主也没了
@帆帆,二进制日志里面记录的是操作,有价值的只有insert记录,所以只能恢复最近insert的行。如果你没有其他备份,还想恢复的话只能找数据恢复公司进行磁盘恢复了。如果是云服务器,看看有没有自动快照。
@帆帆,对了,宝塔有时候会把备份保存在/www/backup文件夹,可以看看有没有。
@帆帆,嗯有可能,如果还在的话,你可以用工具解析出sql
binlog转sql
@帆帆,教程发我
@帆帆,你是不是把主备搞反了,执行
CHANGE MASTER TO
的是备服务器,另一台是主服务器。如果搞反了,在主服务器删除了库,就会传播到备服务器,导致备服务器的库也被删除。因为MySQL同步传播的是SQL语句,所以就算误操作时主服务器库里没有表,备服务器库里有表,从主服务器删除空库也会导致备服务器里有表的库被删除,因为同步是把主服务器里执行的
DROP DATABASE xxx
语句同步给了备服务器,所以无论库是否为空都能删掉。因为同步是同步SQL语句,所以才有“把主服务器的data文件夹复制到备服务器”这一步,必须保证两边初始数据相同,后续通过同步执行相同的SQL语句时,两边的结果才能保持一致。
@帆帆,你的现象是不是,同步开始后,其中一个数据库始终是空的,然后你觉得同步失败了,然后就把那个空库删除了?
@帆帆,是从。但是复制可以是双向的,也就是说如果你之前反向操作过又没有取消,那它就同时是主和从,这样一来任何一边的删库操作都会同步到另一边,这就是楼主想要的主主同步。
@帆帆,但根据你描述的现象,弄错主从是最合理的解释。如果配置成了主主,在完成手动同步之后,
然后就去主(我认为的)修改一条数据。回来看到从还是没有变化
不会发生;如果没弄错,一删就完蛋,主也没了
就不会发生。@帆帆,二进制日志里面记录的是操作,有价值的只有insert记录,所以只能恢复最近insert的行。如果你没有其他备份,还想恢复的话只能找数据恢复公司进行磁盘恢复了。如果是云服务器,看看有没有自动快照。
@帆帆,对了,宝塔有时候会把备份保存在/www/backup文件夹,可以看看有没有。
@帆帆,嗯有可能,如果还在的话,你可以用工具解析出sql
binlog转sql