溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Mysql怎么導(dǎo)入和導(dǎo)出備份的數(shù)據(jù)

發(fā)布時(shí)間:2021-09-14 15:42:44 來源:億速云 閱讀:153 作者:chen 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章主要講解了“Mysql怎么導(dǎo)入和導(dǎo)出備份的數(shù)據(jù)”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Mysql怎么導(dǎo)入和導(dǎo)出備份的數(shù)據(jù)”吧!

導(dǎo)出
導(dǎo)出全庫(kù)備份到本地的目錄
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

導(dǎo)出指定庫(kù)到本地的目錄(例如mysql庫(kù))
mysqldump -u $USER -p $PASSWD -h227.0.0.1 -P3306 --routines --default-character-set=utf8 --databases mysql > db.sql

導(dǎo)出某個(gè)庫(kù)的表到本地的目錄(例如mysql庫(kù)的user表)
mysqldump -u $USER -p $PASSWD -h227.0.0.1 -P3306 --routines --default-character-set=utf8 --tables mysql user> db.table.sql

導(dǎo)出指定庫(kù)的表(僅數(shù)據(jù))到本地的目錄(例如mysql庫(kù)的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

導(dǎo)出某個(gè)庫(kù)的所有表結(jié)構(gòu)
mysqldump -u $USER -p $PASSWD -h227.0.0.1 -P3306 --routines --default-character-set=utf8 --no-data --databases mysql > db.nodata.sql

導(dǎo)出某個(gè)查詢sql的數(shù)據(jù)為txt格式文件到本地的目錄(各數(shù)據(jù)值之間用"制表符"分隔)
例如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

導(dǎo)出某個(gè)查詢sql的數(shù)據(jù)為txt格式文件到MySQL服務(wù)器.
登錄MySQL,將默認(rèn)的制表符換成逗號(hào).(適應(yīng)csv格式文件).
指定的路徑,mysql要有寫的權(quán)限.最好用tmp目錄,文件用完之后,再刪除!
SELECT user,host,password FROM mysql.user INTO OUTFILE '/tmp/mysql_user.csv' FIELDS TERMINATED BY ',';

導(dǎo)入
恢復(fù)全庫(kù)數(shù)據(jù)到MySQL,因?yàn)榘琺ysql庫(kù)的權(quán)限表,導(dǎo)入完成需要執(zhí)行FLUSH PRIVILEGES;命令
第一種方法:
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 --default-character-set=utf8 < db.all.sql

第二種方法:
登錄MySQL,執(zhí)行source命令,后面的文件名要用絕對(duì)路徑.
......
mysql> source /tmp/db.all.sql;
恢復(fù)某個(gè)庫(kù)的數(shù)據(jù)(mysql庫(kù)的user表)
第一種方法:
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 --default-character-set=utf8 mysql < db.table.sql

第二種方法:
登錄MySQL,執(zhí)行source命令,后面的文件名要用絕對(duì)路徑.
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 --default-character-set=utf8
......
mysql> use mysql;
mysql> source /tmp/db.table.sql;
恢復(fù)MySQL服務(wù)器上面的txt格式文件(需要FILE權(quán)限,各數(shù)據(jù)值之間用"制表符"分隔)
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 ;
恢復(fù)MySQL服務(wù)器上面的csv格式文件(需要FILE權(quán)限,各數(shù)據(jù)值之間用"逗號(hào)"分隔)
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 ',';
恢復(fù)本地的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 ',';
注意事項(xiàng)

關(guān)于MySQL連接
-u $USER 用戶名
-p $PASSWD 密碼
-h227.0.0.1 如果連接遠(yuǎn)程服務(wù)器,請(qǐng)用對(duì)應(yīng)的主機(jī)名或者IP地址替換
-P3306 端口
--default-character-set=utf8 指定字符集
關(guān)于mysql參數(shù)
--skip-column-names 不顯示數(shù)據(jù)列的名字
-B 以批處理的方式運(yùn)行mysql程序.查詢結(jié)果將顯示為制表符間隔格式.
-e 執(zhí)行命令后,退出
關(guān)于mysqldump參數(shù)
-A 全庫(kù)備份
--routines 備份存儲(chǔ)過程和函數(shù)
--default-character-set=utf8 設(shè)置字符集
--lock-all-tables 全局一致性鎖
--add-drop-database 在每次執(zhí)行建表語(yǔ)句之前,先執(zhí)行DROP TABLE IF EXIST語(yǔ)句
--no-create-db 不輸出CREATE DATABASE語(yǔ)句
--no-create-info 不輸出CREATE TABLE語(yǔ)句
--databases 將后面的參數(shù)都解析為庫(kù)名
--tables 第一個(gè)參數(shù)為庫(kù)名 后續(xù)為表名
關(guān)于LOAD DATA語(yǔ)法
如果LOAD DATA語(yǔ)句不帶LOCAL關(guān)鍵字,就在MySQL的服務(wù)器上直接讀取文件,且要具有FILE權(quán)限.
如果帶LOCAL關(guān)鍵字,就在客戶端本地讀取數(shù)據(jù)文件,通過網(wǎng)絡(luò)傳到MySQL.
LOAD DATA語(yǔ)句,同樣被記錄到binlog,不過是內(nèi)部的機(jī)制.

感謝各位的閱讀,以上就是“Mysql怎么導(dǎo)入和導(dǎo)出備份的數(shù)據(jù)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Mysql怎么導(dǎo)入和導(dǎo)出備份的數(shù)據(jù)這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI