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之二阶段提交
行锁