老板要求给公司服务器上mysql做主从  在测试的2台服务器上已经测试通过 但是有3个问题
1.看了些资料 有提到某些情况下对slave上进行了其他的操作(写),或事务回滚 可能造成slave_sql_running =NO;解决办法要么执行set global sql_slave_skip_counter=1 跳过错误点 再重新启动slave,或者重新手动执行change master to...重新同步 但是在发生错误那个点的内容slave服务器都会跳过去的 老板要求 如果发生错误 slave卡住了 处理后 错误那个点master传过来的内容slave也要同步好 因为后面会用到 如果错误那个点的内容没有同步好 后面用到这个点的内容时 还会出错 我想了很久 都不想不出来解决办法 希望好心的前辈们指点下  (另外像数据量比较大的服务器做主从 slave经常会卡住吗 slave服务器我不会对它进行任何的写操作,只用来做同步 出现错误的可能性还大吗)
2.因为要给公司的数据库做备份 我想的是定期把服务器荡掉(之前想在服务器运行情况下mysqldump出来的 但是时间会很长 而且好像会锁表 写不了数据和荡掉也什么区别 所以就考虑荡掉后直接拷贝数据文件的方法)  然后做一个完全备份 之后就每天做一个增量备份就好了 要还原时就用最新的那个完全备份加上之后的增量备份就可以了  做增量备份是要用到flush logs命令来产生新的二进制文件 好把之前的弄出来 但是老板说要让mysql每天自动生成一个log-bin文件 不要人为干预(不进入到mysql输入命令) 但是my.cnf中要设置什么参数 才能让log-bin定期自动生成新的二进制文件而且要保留之前的  我只知道可以设置log-bin文件的大小 到达指定的大小后 就会重新生成新的 不知道 有没有设定时间的参数来管理my-bin的更新
3.因为之前用来测试的2台测试服务器和线上的服务器有很大的差别(数据流量数据大小等)所以我担心真的在线上服务器操作时会发生测试时没有遇到的问题 因此 希望各位前辈能指点一下小弟 在数据量比较大的数据库做主从时应该注意的问题 和容易犯的错误
 
问题可能有点多 希望各位朋友能帮一下小弟  本人刚来公司实习 下周就要弄了 第一个任务 很担心搞砸了 谢谢各位了!

解决方案 »

  1.   

    1 在slave上写 那就不是主从了
    2 mysqldump导出并不比直接拷贝物理文件慢 ,而在于导入还原得时候可能会慢很多,另外mysqldump --single-transaction 不锁表
      

  2.   

    1.由于其他原因导致slave卡住的话 如何把卡住那一点的数据恢复呢
    2.如果表是myisam的 如果不锁表的话 数据库不断有数据写入的情况下 导出数据库是个什么原理 先做个快照?
      

  3.   

    1 首先看卡住得原因,如果可以忽略就skip error,如果不可以忽略,还是重做slave吧
    2 导出得时候--master-data=2 会记住位置  在还原完数据以后 可以接上这个位置接着同步数据 
      

  4.   

    那在my.cnf中能设置log-bin文件自动更新的时间吗 前提在保留之前的log-bin文件 重新生成新的log-bin文件
      

  5.   

    mysqldump出来以后文件你可以打开看下  有master_log_file和master_log_pos提供给你续接master上的数据