mysqldump迁移数据库


1. 背景

同事接手了一个第三方项目,需要把数据库也迁移到本地。

2. 实战

# 备份
mysqldump -h127.0.0.1 -uroot -p'123' --flush-logs --single-transaction --all-databases > test.sql

# 压缩 传输
tar -Pczvf test.sql.gz test.sql

# 入库
source test.sql  
# 太慢,优化
SHOW VARIABLES like '%SQL_LOG_BIN%';  -- on
SHOW VARIABLES like '%AUTOCOMMIT%';  -- on
# 创建数据库
CREATE DATABASE 数据库名;
# 设置参数
set sql_log_bin=OFF;//关闭日志
set autocommit=0;//关闭autocommit自动提交模式
# 使用数据库
use 数据库名;
# 开启事务
START TRANSACTION;
# 引入SQL文件
source 文件的路径;
# 成功后事务提交 
COMMIT; 

3. 引用

mysqldump命令详解

4. 拓展

mysql二阶段提交,原理类似HBase的WAL机制
MySQL之二阶段提交

行锁

相关