共計 3061 個字符,預計需要花費 8 分鐘才能閱讀完成。
這篇文章主要講解了“Mysql 怎么導入和導出備份的數據”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“Mysql 怎么導入和導出備份的數據”吧!
導出
導出全庫備份到本地的目錄
mysqldump -u $USER -p $PASSWD -h227.0.0.1 -P3306 –routines –default-character-set=utf8 –lock-all-tables –add-drop-database -A db.all.sql
導出指定庫到本地的目錄(例如 mysql 庫)
mysqldump -u $USER -p $PASSWD -h227.0.0.1 -P3306 –routines –default-character-set=utf8 –databases mysql db.sql
導出某個庫的表到本地的目錄(例如 mysql 庫的 user 表)
mysqldump -u $USER -p $PASSWD -h227.0.0.1 -P3306 –routines –default-character-set=utf8 –tables mysql user db.table.sql
導出指定庫的表 (僅數據) 到本地的目錄(例如 mysql 庫的 user 表, 帶過濾條件)
mysqldump -u $USER -p $PASSWD -h227.0.0.1 -P3306 –routines –default-character-set=utf8 –no-create-db –no-create-info –tables mysql user –where= host= localhost db.table.sql
導出某個庫的所有表結構
mysqldump -u $USER -p $PASSWD -h227.0.0.1 -P3306 –routines –default-character-set=utf8 –no-data –databases mysql db.nodata.sql
導出某個查詢 sql 的數據為 txt 格式文件到本地的目錄 (各數據值之間用 制表符 分隔)
例如 sql 為 select user,host,password from mysql.user;
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 –default-character-set=utf8 –skip-column-names -B -e select user,host,password from mysql.user; mysql_user.txt
導出某個查詢 sql 的數據為 txt 格式文件到 MySQL 服務器.
登錄 MySQL, 將默認的制表符換成逗號.(適應 csv 格式文件).
指定的路徑,mysql 要有寫的權限. 最好用 tmp 目錄, 文件用完之后, 再刪除!
SELECT user,host,password FROM mysql.user INTO OUTFILE /tmp/mysql_user.csv FIELDS TERMINATED BY ,
導入
恢復全庫數據到 MySQL, 因為包含 mysql 庫的權限表, 導入完成需要執行 FLUSH PRIVILEGES; 命令
第一種方法:
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 –default-character-set=utf8 db.all.sql
第二種方法:
登錄 MySQL, 執行 source 命令, 后面的文件名要用絕對路徑.
……
mysql source /tmp/db.all.sql;
恢復某個庫的數據 (mysql 庫的 user 表)
第一種方法:
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 –default-character-set=utf8 mysql db.table.sql
第二種方法:
登錄 MySQL, 執行 source 命令, 后面的文件名要用絕對路徑.
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 –default-character-set=utf8
……
mysql use mysql;
mysql source /tmp/db.table.sql;
恢復 MySQL 服務器上面的 txt 格式文件 (需要 FILE 權限, 各數據值之間用 制表符 分隔)
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 –default-character-set=utf8
……
mysql use mysql;
mysql LOAD DATA INFILE /tmp/mysql_user.txt INTO TABLE user ;
恢復 MySQL 服務器上面的 csv 格式文件 (需要 FILE 權限, 各數據值之間用 逗號 分隔)
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 –default-character-set=utf8
……
mysql use mysql;
mysql LOAD DATA INFILE /tmp/mysql_user.csv INTO TABLE user FIELDS TERMINATED BY ,
恢復本地的 txt 或 csv 文件到 MySQL
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 –default-character-set=utf8
……
mysql use mysql;
# txt
mysql LOAD DATA LOCAL INFILE /tmp/mysql_user.csv INTO TABLE user;
# csv
mysql LOAD DATA LOCAL INFILE /tmp/mysql_user.csv INTO TABLE user FIELDS TERMINATED BY ,
注意事項
關于 MySQL 連接
-u $USER 用戶名
-p $PASSWD 密碼
-h227.0.0.1 如果連接遠程服務器, 請用對應的主機名或者 IP 地址替換
-P3306 端口
–default-character-set=utf8 指定字符集
關于 mysql 參數
–skip-column-names 不顯示數據列的名字
-B 以批處理的方式運行 mysql 程序. 查詢結果將顯示為制表符間隔格式.
-e 執行命令后, 退出
關于 mysqldump 參數
-A 全庫備份
–routines 備份存儲過程和函數
–default-character-set=utf8 設置字符集
–lock-all-tables 全局一致性鎖
–add-drop-database 在每次執行建表語句之前, 先執行 DROP TABLE IF EXIST 語句
–no-create-db 不輸出 CREATE DATABASE 語句
–no-create-info 不輸出 CREATE TABLE 語句
–databases 將后面的參數都解析為庫名
–tables 第一個參數為庫名 后續為表名
關于 LOAD DATA 語法
如果 LOAD DATA 語句不帶 LOCAL 關鍵字, 就在 MySQL 的服務器上直接讀取文件, 且要具有 FILE 權限.
如果帶 LOCAL 關鍵字, 就在客戶端本地讀取數據文件, 通過網絡傳到 MySQL.
LOAD DATA 語句, 同樣被記錄到 binlog, 不過是內部的機制.
感謝各位的閱讀,以上就是“Mysql 怎么導入和導出備份的數據”的內容了,經過本文的學習后,相信大家對 Mysql 怎么導入和導出備份的數據這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!