一、導出備份
1、mysqldump命令
mysqldump
是 MySQL
自帶的邏輯備份工具
導出單個數據庫
mysqldump -h hostname/ip地址 -P 端口號 -u mysql用戶名 -p mysql密碼 --databases 數據庫名s > /路徑/生成的文件名.sql
1.1、導出表
1.1 .1 導出表結構及數據
mysqldump -u root -p --set-gtid-purged=OFF database table1 table2 > mysqldump.sql
--set-gtid-purged=off : 加了--set-gtid-purged=OFF時,會記錄binlog日志;如果不加,不記錄binlog日志。所以在我們做主從用了gtid時,
用mysqldump備份時就要加--set-gtid-purged=OFF,否則你在主上導入恢復了數據,主沒有了binlog日志,同步則不會被同步。
1.1.2 只導出表結構
mysqldump -u root -p --set-gtid-purged=OFF -d database table1 table2 > mysqldump.sql
-d參數:等價於-–no-data,含義是不導出任何數據,只導出數據庫表結構;
1.1.3 只導出數據
mysqldump -u root -p --set-gtid-purged=OFF -t database table1 table2 > mysqldump.sql
-t參數:等價於—no-create-info,含義是只導出數據,而不添加CREATE TABLE語句;
1.1.4 導出單張表
(1)導出表結構及數據(有where條件)
mysqldump -u root -p --set-gtid-purged=OFF database table --where "限制條件" > mysqldump.sql
(2)只導出數據(有where條件)
mysqldump -u root -p --set-gtid-purged=OFF --no-create-info database table --where "限制條件" > mysqldump.sql
1.2、導出數據庫
1.2.1 導出所有數據庫
mysqldump -u root -p --all-databases > mysqldump.sql
1.2.2 導出單個數據庫
mysqldump -u root -p --databases db1 > mysqldump.sql
1.2.3 導出多個數據庫
mysqldump -u root -p --databases db1 db2 > mysqldump.sql
mysql -h ip地址 -P 端口 -u mysql用戶名 -p mysql密碼 要導入到的數據庫名 < ./文件名 .sql
二、導入
1、mysql命令
1.1、導入表
mysql -u root -p database < mysqldump.sql
1.2、導入數據庫
mysql -u root -p < mysqldump.sql
參考:https://www.cnblogs.com/faberbeta/p/msqldump001.html
2、source命令
進入mysql數據庫控制台,如
mysql -u root -p
mysql>use 數據庫
然后使用source命令,后面參數為腳本文件(如這里用到的.sql)
mysql>source d:/dbname.sql