MYSQL-使用mysqldump创建数据库快照
2015-12-29 15:55 abce 阅读(1323) 评论(0) 编辑 收藏 举报对已经有数据的mysql库创建主从的时候,可以使用mysqldump创建数据库快照
#--master-data选项会自动加上开启复制需要的"change master to"语句,包含file和position的记录开始位置 mysql> mysqldump --all-databases --master-data > dbdump.db # grep -i "CHANGE MASTER TO" dbdump2.db |more CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000006', MASTER_LOG_POS=367;
如果没有使用--master-data,需要在执行mysqldump之前执行"flush tables with read lock"命令,获取二进制日志的位置,以及"change master to"等操作,mysqldump执行完毕后还要手动释放锁。
mysql> flush tables with read lock; mysql> show master status; +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000006 | 367 | | | | +------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec) mysql> # mysqldump --all-databases --master-data > dbdump.db mysql> unlock tables;