1.我希望将数据库从 服务器1 迁移到 服务器2. 能否直接将服务器2设置为服务器1的从服务器。在数据同步完成后,直接将服务器2设置为主服务器?2.当主服务器出现问题的时候,将从服务器临时切换为主服务器,主服务器修复完毕之后能否自动与从服务器同步?
3.一个数据需要频繁修改的系统,设置为主从方式的时候,会不会由于经常性的主从同步导致系统变慢。

解决方案 »

  1.   

    1 可以2 可以   但是主服务器坏的这段时间用户无法写入数据  所以在主服务器出现问题时 应该把从服务器切成主3 更新频繁  会导致binlog过大  因为从库是单线程复制 所以可能会造成从库同步延迟的出现 但是主从同步本身不会导致系统变慢
      

  2.   

    关于1:主从服务器是基于二进制日志,如果日志信息记录不完整或者有问题会不会导致移植出错。关于2:我查资料的时候看到可以通过 mysqlbinlog xxx-bin.0000x | mysql -u root -p 来恢复数据库。可是mysqlbinlog xxx-bin.0000x里的sql会不会导致本来已经执行过的数据库更新重复操作呢?或者说如果是主从结构的话,mysql会自动对比两边日志的时间戳,过滤掉不该执行的sql,这部分不需要人工控制?关于3:能不能清理掉早期的binlog日志?清理会不会导致主从结构出现问题。
      

  3.   

    做从服务器是在主服务器上执行mysqldump --single-transaction -master-data在线备份一个  这个备份文件里面有备份时间的binlog文件名字 和事务号  然后在从服务器上导入这个备份  然后用change master命令去接到主数据库上
      

  4.   

    当然可以清掉binlog binlog同步到从数据库上以后就没用了  当然你可以留几天的   mysql有expire_logs_days这个参数空值binlog的过期时间