1. mysqldump導出為sql檔案
mysqldump 資料庫名 --host=主機 --port=端口 -u使用者名 -p密碼 --where="過濾條件" --tables 資料表 > 導出檔案路徑.sql
示例:
mysqldump mydb --host=127.0.0.1 --port=3306 -uroot -p123456 --where="id = 1" --tables mytable1 > G:\test\mytable1.sql
其他參數:
導出所有庫:--all-databases
導出標明庫:--databases db1 db2
2. 導入sql檔案到資料庫
- 登入到mysql中,使用source
use 資料庫名;
source 檔案路徑.sql;
示例:
use mydb2;
source G:/test/mysql/mytable1.sql;
- 使用mysql指令
mysql --host=主機 --port=端口 -u使用者名 -p密碼 資料庫名 < 檔案路徑.sql
示例:
mysql --host=127.0.0.1 --port=3306 -uroot -p123456 mydb2 < G:/test/mysql/mytable1.sql
注意編碼問題:
set names utf8;
3. (直達)mysqldump直接導出到另外一個資料庫
mysqldump 資料庫名 --host=主機 --port=端口 -u使用者名 -p密碼 --where="過濾條件" --tables 資料表 | mysql --host=主機 --port=端口 -u使用者名 -p密碼 目标資料庫名
示例:
mysqldump mydb --host=127.0.0.1 --port=3306 -uroot -p123456 --where="id = 1" --tables mytable1 | mysql --host=127.0.0.1 --port=3306 -uroot -p123456 mydb2
4. 常見問題處理
- mysqldump報錯:
Unknown table 'COLUMN_STATISTICS' in information_schema (1109)
解決方法:
方法1. 添加參數
--column-statistics=0
方法2. 修改mysql配置檔案,添加全局配置:
[mysqldump]
column-statistics=0
-
中文亂碼問題
解決方法:添加指定字元集參數,比如,utf8、gbk
--default-character-set=gbk