MySQL数据迁移

博客介绍了数据库相关内容,包括tables.txt文件结构,提供了导出脚本(win版的导出脚本.bat和linux版的导出脚本.sh)、导入脚本(linux版的导入脚本.sh),还提及了数据库本地备份和恢复,并给出了转载来源。

tables.txt文件结构

表名1
表名2
表名3

导出脚本

  • 导出脚本.bat(win版本)
@echo off & setlocal enabledelayedexpansion

for /f %%i in (tables.txt) do ( set table=%%i
    echo "dump table -- !table! --"
    mysql -u账号 -p密码 源数据库名 -e "SELECT * INTO OUTFILE 'd:/MySQL/Uploads/!table!.txt' FIELDS TERMINATED BY ',' FROM !table!"
)
pause
  • 导出脚本.sh(linux版本)
#!/bin/bash

while read line
do
        mysql -u账号 -p密码 源数据库名 -e "SELECT * INTO OUTFILE '/var/lib/mysql-files/$line.txt' FIELDS TERMINATED BY ',' FROM $line"
done < tables.txt

导入脚本

  • 导入脚本.t(linux版本sh
#!/bin/bash

while read line
do
        mysql -u账号 -p密码 新数据库名 -e "LOAD DATA INFILE '/var/lib/mysql-files/$line.txt' INTO TABLE $line FIELDS TERMINATED BY ','"
done < tables.txt

数据库本地备份和恢复

# 新建目录
mkdir -p /home/20190620;
# 导出数据
/usr/bin/mysqldump -u账号 -p密码 --databases 数据库名 --tables 表名  --no-create-info >/home/20190620/表名.sql;
# 关闭bin-log
set session sql_log_bin=0;
# 验证是否关闭bin-log
show variables like '%sql_log_bin%'; 
# 清空表数据
truncate table upp_business02;
# 恢复
source /home/20190620/表名.sql;
# 优化存储
alter table 表名 engine=InnoDB;
# 优化器优化
# analyze table 表名

转载于:https://www.cnblogs.com/LingCoder/p/10831456.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值