1 不停数据库写的情况下,也可以使用 mysqldump 导出,但因为 mysqldump 导出时会加表锁(lock tables table_name read;),导出过程中会阻塞写(应用程序的写数据库或其段拿他情况的写),不会影响读。
2 导入一个备份后,还要继续同步备份的操作,那必须结合同步来进行,先导出导入数据(导出时注意加上 --master-data 选项,或导出前 show master status 记下日志名称和位置),再配置同步,并启动同吵扒步;
3 日志记录的编号,也就是 position,可以在导出前查询,也可以在导出时加 --master-data 选项一并进行;
-- 几个注意事项:
1 导出会加表锁(这是服务器级的读锁),如果数据库较大,可能会影响业务;较小的话,可以在数据库本机进行导出,时间很快;
2 大数据库升燃昌一定要做个备份机(即replication的slave),同步会涉及到数据的一致性(备份、启用同步)问题,可以深入理解下;
如果是还在跑业务...肯定不能用你说的那个命令..而且就算要用..也得加上类似--single-transaction(仅适用于Innodb引擎). 因为锁表会对业务有影响.
个人建议是不茄尺支持这种不加参数的导出导入,因为有的依赖会因为导出的先后顺序被破坏掉.如外键
个人建议颤滚高是先导ddl,在核对后,在导数据.
另外,因为是在线跑,所以对于后续的增长数据,常用的方式是:做主从.在备份的时候记录bin-log点.然后在导入数据库后.从刚开备枝始的点开始同步,这样就保证了后续数据的跟进..在恰当的时候.在停机切换....