新聞中心
本文主要給大家介紹windows系統(tǒng)下MySQL的備份及還原詳解,其所涉及的東西,從理論知識來獲悉,有很多書籍、文獻可供大家參考,從現(xiàn)實意義角度出發(fā),創(chuàng)新互聯(lián)累計多年的實踐經(jīng)驗可分享給大家。
成都創(chuàng)新互聯(lián)服務(wù)項目包括萬源網(wǎng)站建設(shè)、萬源網(wǎng)站制作、萬源網(wǎng)頁制作以及萬源網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,萬源網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到萬源省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
windows mysql 備份與還原
步驟1:使用mysqldump命令將suppliers表備份到文件C:\bktestdir\suppliers_bk.sql。
mysqldump -u root -p test suppliers > C:\bktestdir\suppliers_bk.sql
步驟2:使用mysql命令還原suppliers表到test數(shù)據(jù)庫中
DELETE FROM suppliers;
source C:/bktestdir/suppliers_bk.sql;
步驟3:使用SELECT… INTO OUTFILE語句導(dǎo)出suppliers表中的記錄,導(dǎo)出文件位于目錄C:\bktestdir下,名稱為suppliers_out.txt
SELECT * FROM test.suppliers INTO OUTFILE "C:/bktestdir/suppliers_out.txt"
FIELDS
TERMINATED BY ','
ENCLOSED BY '\"'
LINES
STARTING BY '<'
TERMINATED BY '>\r\n';
步驟4:使用LOAD DATA INFILE語句導(dǎo)入suppliers_out.txt數(shù)據(jù)到suppliers表。
LOAD DATA INFILE 'C:/bktestdir/suppliers_out.txt' INTO TABLE test.suppliers
FIELDS
TERMINATED BY ','
ENCLOSED BY '\"'
LINES
STARTING BY '<'
TERMINATED BY '>\r\n';
步驟5:使用musqldump命令將suppliers表中的記錄導(dǎo)出到文件C:\bktestdir\suppliers_html.html。
mysql -u root -p --html --execute="SELECT * FROM suppliers;" test > C:/bktestdir/suppliers_html.html
linux mysql 備份與還原
備份操作
(1)導(dǎo)出指定庫中的部分表
mysqldump [選項] 庫名 [表名1] [表名2] .... > /備份路徑/備份文件名
(2)導(dǎo)出一個或多個完整的庫(包括其中所有的表)
mysqldump [選項] --databases 庫名 1 [庫名 2] .... > /備份路徑/備份文件名
(3)備份mysql 云服務(wù)器中的所有庫
mysqldump [選項]--opt --all-databases > /備份路徑/備份文件名
還原操作
mysql [選項] [庫名] [表名] < /備份路徑/備份文件名
舉例:
隨便找一個數(shù)據(jù)庫,創(chuàng)建張表插入數(shù)據(jù)
備份(-u 指定登錄用戶 -p 數(shù)據(jù)庫名 表名) 備份名稱
mysqldump -u root -p dingxue student > dingxue.sql
Enter password:****
還原(還原表直接把表放到指定的數(shù)據(jù)庫即可)
mysql -u root -p dingxue < dingxue.sql
/***************************樣例表***************************/
CREATE DATABASE booksDB;
user booksDB;
CREATE TABLE books
(
bk_id INT NOT NULL PRIMARY KEY,
bk_title VARCHAR(50) NOT NULL,
copyright YEAR NOT NULL
);
INSERT INTO books
VALUES (11078, 'Learning MySQL', 2010),
(11033, 'Study Html', 2011),
(11035, 'How to use php', 2003),
(11072, 'Teach youself javascript', 2005),
(11028, 'Learing C++', 2005),
(11069, 'MySQL professional', 2009),
(11026, 'Guide to MySQL 5.5', 2008),
(11041, 'Inside VC++', 2011);
CREATE TABLE authors
(
auth_id INT NOT NULL PRIMARY KEY,
auth_name VARCHAR(20),
auth_gender CHAR(1)
);
INSERT INTO authors
VALUES (1001, 'WriterX' ,'f'),
(1002, 'WriterA' ,'f'),
(1003, 'WriterB' ,'m'),
(1004, 'WriterC' ,'f'),
(1011, 'WriterD' ,'f'),
(1012, 'WriterE' ,'m'),
(1013, 'WriterF' ,'m'),
(1014, 'WriterG' ,'f'),
(1015, 'WriterH' ,'f');
CREATE TABLE authorbook
(
auth_id INT NOT NULL,
bk_id INT NOT NULL,
PRIMARY KEY (auth_id, bk_id),
FOREIGN KEY (auth_id) REFERENCES authors (auth_id),
FOREIGN KEY (bk_id) REFERENCES books (bk_id)
);
INSERT INTO authorbook
VALUES (1001, 11033), (1002, 11035), (1003, 11072), (1004, 11028),
(1011, 11078), (1012, 11026), (1012, 11041), (1014, 11069);
/***************************樣例表***************************/
【例14.1】使用mysqldump命令備份數(shù)據(jù)庫中的所有表
mysqldump -u root -p booksdb > C:/backup/booksdb_20110101.sql
【例14.2】備份booksDB數(shù)據(jù)庫中的books表
mysqldump -u root -p booksDB books > C:/backup/books_20110101.sql
【例14.3】使用mysqldump備份booksDB和test數(shù)據(jù)庫
mysqldump -u root -p --databases booksDB test> C:\backup\books_testDB_20110101.sql
【例14.4】使用mysqldump備份服務(wù)器中的所有數(shù)據(jù)庫
mysqldump -u root -p --all-databases > C:/backup/alldbinMySQL.sql
【例14.5】使用mysqlhotcopy備份test數(shù)據(jù)庫到/usr/backup目錄下
mysqlhotcopy -u root -p test /usr/backup
【例14.6】使用mysql命令將C:\backup\booksdb_20110101.sql文件中的備份導(dǎo)入到數(shù)據(jù)庫中
mysql -u root-p booksDB < C:/backup/booksdb_20110101.sql
【例14.7】使用root用戶登錄到服務(wù)器,然后使用souce導(dǎo)入本地的備份文件booksdb_20110101.sql
use booksdb;
source C:/backup/booksdb_20110101.sql
【例14.8】從mysqlhotcopy拷貝的備份恢復(fù)數(shù)據(jù)庫
cp –R /usr/backup/test usr/local/mysql/data
【例14.9】將www.abc.com主機上的MySQL數(shù)據(jù)庫全部遷移到www.bcd.com主機上。在www.abc.com主機上執(zhí)行的命令如下:
mysqldump -h www.bac.com -uroot -ppassword dbname |
mysql -hwww.bcd.com -uroot -ppassword
【例14.10】使用SELECT...INTO OUTFILE將test數(shù)據(jù)庫中的person表中的記錄導(dǎo)出到文本文件
SELECT * FROM test.person INTO OUTFILE "C:/person0.txt";
【例14.11】使用SELECT...INTO OUTFILE將test數(shù)據(jù)庫中的person表中的記錄導(dǎo)出到文本文件,使用FIELDS選項和LINES選項,要求字段之間使用逗號‘,’間隔,所有字段值用雙引號括起來,定義轉(zhuǎn)義字符定義為單引號‘\’’
SELECT * FROM test.person INTO OUTFILE "C:/person1.txt"
FIELDS
TERMINATED BY ','
ENCLOSED BY '\"'
ESCAPED BY '\''
LINES
TERMINATED BY '\r\n';
【例14.12】使用SELECT...INTO OUTFILE將test數(shù)據(jù)庫中的person表中的記錄導(dǎo)出到文本文件,使用LINES選項,要求每行記錄以字符串“> ”開始,以“
SELECT * FROM test.person INTO OUTFILE "C:/person2.txt"
LINES
STARTING BY '> '
TERMINATED BY '
SELECT * FROM test.person INTO OUTFILE "C:/person2.txt"
LINES
STARTING BY '> '
TERMINATED BY '
【例14.13】使用mysqldump將test數(shù)據(jù)庫中的person表中的記錄導(dǎo)出到文本文件
mysqldump -T C:/ test person -u root -p
【例14.14】使用mysqldump命令將test數(shù)據(jù)庫中的person表中的記錄導(dǎo)出到文本文件,使用FIELDS選項,要求字段之間使用逗號‘,’間隔,所有字符類型字段值用雙引號括起來,定義轉(zhuǎn)義字符定義為問號‘?’,每行記錄以回車換行符“\r\n”結(jié)尾
mysqldump -T C:\backup test person -u root -p --fields-terminated-by=, --fields-optionally-enclosed-by=\" --fields-escaped-by=? --lines-terminated-by=\r
【例14.15】使用mysql語句導(dǎo)出test數(shù)據(jù)庫中person表中的記錄到文本文件
mysql -u root -p --execute="SELECT * FROM person;" test > C:\person3.txt
【例14.16】使用mysql命令導(dǎo)出test數(shù)據(jù)庫中person表中的記錄到文本文件,使用--vertical參數(shù)顯示結(jié)果
mysql -u root -p --vertical --execute="SELECT * FROM person;" test > C:\person4.txt
【例14.17】使用mysql命令導(dǎo)出test數(shù)據(jù)庫中person表中的記錄到html文件
mysql -u root -p --html --execute="SELECT * FROM person;" test > C:\person5.html
【例14.18】使用mysql命令導(dǎo)出test數(shù)據(jù)庫中person表中的記錄到xml文件
mysql -u root -p --xml --execute="SELECT * FROM person;" test > C:\person6.xml
【例14.19】使用LOAD DATA命令將C:\person0.txt文件中的數(shù)據(jù)導(dǎo)入到test數(shù)據(jù)庫中的person表
LOAD DATA INFILE 'C:/person0.txt' INTO TABLE test.person;
【例14.20】使用LOAD DATA命令將C:\person1.txt文件中的數(shù)據(jù)導(dǎo)入到test數(shù)據(jù)庫中的person表,使用FIELDS選項和LINES選項,要求字段之間使用逗號‘,’間隔,所有字段值用雙引號括起來,定義轉(zhuǎn)義字符定義為單引號‘\’’
LOAD DATA INFILE 'C:/person1.txt' INTO TABLE test.person
FIELDS
TERMINATED BY ','
ENCLOSED BY '\"'
ESCAPED BY '\''
LINES
TERMINATED BY '\r\n';
【例14.21】使用mysqlimport命令將C:\backup目錄下的person.txt文件內(nèi)容導(dǎo)入到test數(shù)據(jù)庫中,字段之間使用逗號‘,’間隔,字符類型字段值用雙引號括起來,定義轉(zhuǎn)義字符定義為問號‘?’,每行記錄以回車換行符“\r\n”結(jié)尾
mysqlimport -u root -p test C:/backup/person.txt --fields-terminated-by=, --fields-optionally-enclosed-by=\" --fields-escaped-by=? --lines-terminated-by=\r\n
看了以上windows系統(tǒng)下mysql的備份及還原詳解介紹,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,大家可以繼續(xù)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊板塊,會定期給大家更新行業(yè)新聞和知識,如有需要更加專業(yè)的解答,可在官網(wǎng)聯(lián)系我們的24小時售前售后,隨時幫您解答問題的。
網(wǎng)站題目:windows系統(tǒng)下mysql的備份及還原詳解
標(biāo)題鏈接:http://ef60e0e.cn/article/pogisi.html