MySQL用作備份還原的導(dǎo)入和導(dǎo)出命令用法整理
mysqldump
命令行導(dǎo)出數(shù)據(jù)庫:
1,進(jìn)入MySQL目錄下的bin文件夾:cd MySQL中到bin文件夾的目錄
如我輸入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin
2,導(dǎo)出數(shù)據(jù)庫:mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 > 導(dǎo)出的文件名
如我輸入的命令行:mysqldump -u root -p news > news.sql (輸入后會讓你輸入進(jìn)入MySQL的密碼)
(如果導(dǎo)出單張表的話在數(shù)據(jù)庫名后面輸入表名即可)
3、會看到文件news.sql自動生成到bin文件下
命令行導(dǎo)入數(shù)據(jù)庫:
1,將要導(dǎo)入的.sql文件移至bin文件下,這樣的路徑比較方便
2,同上面導(dǎo)出的第1步
3,進(jìn)入MySQL:mysql -u 用戶名 -p
如我輸入的命令行:mysql -u root -p (輸入同樣后會讓你輸入ySQL的密碼)
4,在MySQL-Front中新建你要建的數(shù)據(jù)庫,這時是空數(shù)據(jù)庫,如新建一個名為news的目標(biāo)數(shù)據(jù)庫(mysql>create database news;)
5,輸入:mysql>use 目標(biāo)數(shù)據(jù)庫名
如我輸入的命令行:mysql>use news;
6,導(dǎo)入文件:mysql>source 導(dǎo)入的文件名;
如我輸入的命令行:mysql>source news.sql;
實例:
導(dǎo)出
#> cd /usr/local/src #> /usr/local/mysql/bin/mysqldump -uroot -p123456 cacti > cacti.sql;
這樣就看到cacti.sql導(dǎo)出到了/usr/local/src/目錄
1.導(dǎo)出整個數(shù)據(jù)庫
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 > 導(dǎo)出的文件名 mysqldump -u root -p abc > abc.sql
2.導(dǎo)出一個表
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名> 導(dǎo)出的文件名 mysqldump -u root -p abc users> abc_users.sql
3.導(dǎo)出一個數(shù)據(jù)庫結(jié)構(gòu)
mysqldump -u root -p -d --add-drop-table abc >/usr/local/abc_db.sql -d 沒有數(shù)據(jù) --add-drop-table 在每個create語句之前增加一個drop table
導(dǎo)入
#> /usr/local/mysql/bin/mysql -uroot -p mysql> create database cacti; 新建數(shù)據(jù)庫名為cacti mysql> use cacti; 選擇目標(biāo)數(shù)據(jù)庫 mysql> source /usr/local/src/cacti.sql 導(dǎo)入數(shù)據(jù)庫
這樣就導(dǎo)入了cacti.sql文件
load data
(windows系統(tǒng)。。表結(jié)構(gòu)一致的情況下)
命令在DOS的mysql/bin目錄下執(zhí)行:
導(dǎo)出:
select * from aaa into outfile "e:/a.txt";
導(dǎo)入:
load data local infile "e:/a.txt" into table aaa;
備份:SELECT INTO OUTFILE
SELECT * FROM hx_9enjoy INTO OUTFILE '/tmp/9enjoy.txt'
默認(rèn)使用tab分割字段,記錄使用/n分割??梢宰远x三個參數(shù)。
SELECT * FROM hx_9enjoy INTO OUTFILE '/tmp/9enjoy_hx.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '/n';
即使用,分割字段,雙引號限定字段內(nèi)容,/n分割記錄。
還可以指定某些條件的記錄輸出:
SELECT * FROM hx_9enjoy WHERE id < 100 INTO OUTFILE '/tmp/9enjoy_100.txt'
還原:LOAD DATA INFILE
默認(rèn)情況:
LOAD DATA INFILE '/tmp/9enjoy.txt' INTO TABLE hx_9enjoy
如果有指定界定符,則加上界定符的說明:
LOAD DATA INFILE '/tmp/9enjoy.txt' INTO TABLE hx_9enjoy FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '/n'
如果db是GBK或utf-8等編碼,需要在還原時指定CHARACTER SET參數(shù),否則還原的數(shù)據(jù)是亂碼。
如:
load data infile '/tmp/9enjoy.txt' INTO TABLE hx_9enjoy CHARACTER SET gbk;
注意事項
1.mysql必須要有權(quán)限訪問生成文件的那個目錄
2.由于安全方面的原因,不能覆蓋已存在的文件,不管這個文件的權(quán)限是怎么分配的。
3.不能直接導(dǎo)出一個壓縮文件。
相關(guān)文章
mysql優(yōu)化之慢查詢分析+explain命令分析+優(yōu)化技巧總結(jié)
這篇文章主要介紹了mysql優(yōu)化之慢查詢分析,explain命令分析,優(yōu)化技巧總結(jié),需要的朋友可以參考下2023-02-02Mysql保持現(xiàn)有內(nèi)容在后面增加內(nèi)容的sql語句
這篇文章主要介紹了Mysql保持現(xiàn)有內(nèi)容在后面增加內(nèi)容的sql語句,需要的朋友可以參考下2017-05-05MySQL過濾重復(fù)數(shù)據(jù)的兩種方法示例
數(shù)據(jù)庫生成環(huán)境中經(jīng)常會遇到表中有重復(fù)的數(shù)據(jù),或者進(jìn)行關(guān)聯(lián)過程中產(chǎn)生重復(fù)數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于MySQL過濾重復(fù)數(shù)據(jù)的兩種方法,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04Mysql大數(shù)據(jù)量查詢優(yōu)化思路詳析
這篇文章主要介紹了Mysql大數(shù)據(jù)量查詢優(yōu)化思路,Mysql大表查詢優(yōu)化,理論上千萬級別以下的數(shù)據(jù)量Mysql單表查詢性能處理都是可以的。下文我們就來看看具體得思路解析2022-01-01解決Navicat遠(yuǎn)程連接MySQL出現(xiàn) 10060 unknow error的方法
這篇文章主要介紹了解決Navicat遠(yuǎn)程連接MySQL出現(xiàn) 10060 unknow error的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12