MySQL數據遷移


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 表名


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM