您好,登錄后才能下訂單哦!
本文主要給大家介紹windows系統下mysql的備份及還原詳解,其所涉及的東西,從理論知識來獲悉,有很多書籍、文獻可供大家參考,從現實意義角度出發,億速云累計多年的實踐經驗可分享給大家。
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數據庫中
DELETE FROM suppliers;
source C:/bktestdir/suppliers_bk.sql;
步驟3:使用SELECT… INTO OUTFILE語句導出suppliers表中的記錄,導出文件位于目錄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語句導入suppliers_out.txt數據到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表中的記錄導出到文件C:\bktestdir\suppliers_html.html。
mysql -u root -p --html --execute="SELECT * FROM suppliers;" test > C:/bktestdir/suppliers_html.html
linux mysql 備份與還原
備份操作
(1)導出指定庫中的部分表
mysqldump [選項] 庫名 [表名1] [表名2] .... > /備份路徑/備份文件名
(2)導出一個或多個完整的庫(包括其中所有的表)
mysqldump [選項] --databases 庫名 1 [庫名 2] .... > /備份路徑/備份文件名
(3)備份mysql 云服務器中的所有庫
mysqldump [選項]--opt --all-databases > /備份路徑/備份文件名
還原操作
mysql [選項] [庫名] [表名] < /備份路徑/備份文件名
舉例:
隨便找一個數據庫,創建張表插入數據
備份(-u 指定登錄用戶 -p 數據庫名 表名) 備份名稱
mysqldump -u root -p dingxue student > dingxue.sql
Enter password:****
還原(還原表直接把表放到指定的數據庫即可)
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命令備份數據庫中的所有表
mysqldump -u root -p booksdb > C:/backup/booksdb_20110101.sql
【例14.2】備份booksDB數據庫中的books表
mysqldump -u root -p booksDB books > C:/backup/books_20110101.sql
【例14.3】使用mysqldump備份booksDB和test數據庫
mysqldump -u root -p --databases booksDB test> C:\backup\books_testDB_20110101.sql
【例14.4】使用mysqldump備份服務器中的所有數據庫
mysqldump -u root -p --all-databases > C:/backup/alldbinMySQL.sql
【例14.5】使用mysqlhotcopy備份test數據庫到/usr/backup目錄下
mysqlhotcopy -u root -p test /usr/backup
【例14.6】使用mysql命令將C:\backup\booksdb_20110101.sql文件中的備份導入到數據庫中
mysql -u root-p booksDB < C:/backup/booksdb_20110101.sql
【例14.7】使用root用戶登錄到服務器,然后使用souce導入本地的備份文件booksdb_20110101.sql
use booksdb;
source C:/backup/booksdb_20110101.sql
【例14.8】從mysqlhotcopy拷貝的備份恢復數據庫
cp –R /usr/backup/test usr/local/mysql/data
【例14.9】將www.abc.com主機上的MySQL數據庫全部遷移到www.bcd.com主機上。在www.abc.com主機上執行的命令如下:
mysqldump -h www.bac.com -uroot -ppassword dbname |
mysql -hwww.bcd.com -uroot -ppassword
【例14.10】使用SELECT...INTO OUTFILE將test數據庫中的person表中的記錄導出到文本文件
SELECT * FROM test.person INTO OUTFILE "C:/person0.txt";
【例14.11】使用SELECT...INTO OUTFILE將test數據庫中的person表中的記錄導出到文本文件,使用FIELDS選項和LINES選項,要求字段之間使用逗號‘,’間隔,所有字段值用雙引號括起來,定義轉義字符定義為單引號‘\’’
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數據庫中的person表中的記錄導出到文本文件,使用LINES選項,要求每行記錄以字符串“> ”開始,以“<end>”字符串結尾
SELECT * FROM test.person INTO OUTFILE "C:/person2.txt"
LINES
STARTING BY '> '
TERMINATED BY '<end>';
SELECT * FROM test.person INTO OUTFILE "C:/person2.txt"
LINES
STARTING BY '> '
TERMINATED BY '<end>\r\n';
【例14.13】使用mysqldump將test數據庫中的person表中的記錄導出到文本文件
mysqldump -T C:/ test person -u root -p
【例14.14】使用mysqldump命令將test數據庫中的person表中的記錄導出到文本文件,使用FIELDS選項,要求字段之間使用逗號‘,’間隔,所有字符類型字段值用雙引號括起來,定義轉義字符定義為問號‘?’,每行記錄以回車換行符“\r\n”結尾
mysqldump -T C:\backup test person -u root -p --fields-terminated-by=, --fields-optionally-enclosed-by=\" --fields-escaped-by=? --lines-terminated-by=\r\n
【例14.15】使用mysql語句導出test數據庫中person表中的記錄到文本文件
mysql -u root -p --execute="SELECT * FROM person;" test > C:\person3.txt
【例14.16】使用mysql命令導出test數據庫中person表中的記錄到文本文件,使用--vertical參數顯示結果
mysql -u root -p --vertical --execute="SELECT * FROM person;" test > C:\person4.txt
【例14.17】使用mysql命令導出test數據庫中person表中的記錄到html文件
mysql -u root -p --html --execute="SELECT * FROM person;" test > C:\person5.html
【例14.18】使用mysql命令導出test數據庫中person表中的記錄到xml文件
mysql -u root -p --xml --execute="SELECT * FROM person;" test > C:\person6.xml
【例14.19】使用LOAD DATA命令將C:\person0.txt文件中的數據導入到test數據庫中的person表
LOAD DATA INFILE 'C:/person0.txt' INTO TABLE test.person;
【例14.20】使用LOAD DATA命令將C:\person1.txt文件中的數據導入到test數據庫中的person表,使用FIELDS選項和LINES選項,要求字段之間使用逗號‘,’間隔,所有字段值用雙引號括起來,定義轉義字符定義為單引號‘\’’
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文件內容導入到test數據庫中,字段之間使用逗號‘,’間隔,字符類型字段值用雙引號括起來,定義轉義字符定義為問號‘?’,每行記錄以回車換行符“\r\n”結尾
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系統下mysql的備份及還原詳解介紹,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,大家可以繼續關注億速云行業資訊板塊,會定期給大家更新行業新聞和知識,如有需要更加專業的解答,可在官網聯系我們的24小時售前售后,隨時幫您解答問題的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。