mysql備份與還原

2021-06-14 15:45:48 字數 2978 閱讀 8349

備份檔案:

檔案開頭記錄了mysql的版本、備份的主機名和資料庫名。檔案中,以「-- 」開頭的的都是sql語言的注釋(不會被執行)。但是,以  「/*!40101" 等形式開頭 的是與mysql有關的注釋。40101 是mysql資料庫的版本號,這裡就表示mysql 4.1.1 。如果還原資料時,mysql的版本比4.1.1高, 「/*!40101" 和」*/"之間的內容被當作  sql命令來執行 。如果比4.1.1低, 「/*!40101" 和」*/"之間的內容被當作  注釋。

備份1.備份乙個資料庫:

mysqldump -u username -p databasename table1 table2...>backname.sql

如:mysqldump -u root -p test student teacher>e:\backup.sql

2.備份多個資料庫:

mysqldump -u username -p --databases

databasename1 databasename2...>backname.sql

如:mysqldump -u root -p --databases test mysql>e:\backup.sql

3.備份所有資料庫:

mysqldump -u username -p --all-databases

>backname.sql

如:mysqldump -u root -p --all-databases>e:\backup.sql

還原mysql -u root -p [databasename]

資料庫的遷移

1.相同版本的mysql資料庫之間的遷移

mysqldump -h host1 -u root --password=password1 --all-databases |

mysql -h host2 -u root --password=password2

其中「|」符號表示管道,其作用是將mysqldump備份的檔案傳送給mysql命令。

2.不同版本的mysql資料庫之間的遷移

同上3.不同資料庫之間的遷移

參考表的匯入和匯出:

1.用select ... into outfile 匯出文字檔案

語法:select [列名] from table [where 語句] into outfile '目標檔案' [optiom];

其中option 引數有6個常用選項:

fields  terminated  by   '字串'  :設定字串為字段的分隔符,預設值是「\t「;

fields enclosed  by  '字元' :設定字元來括上字段的值。預設情況下不使用任何符號;

fields  optionally  enclosed  by   '字元' :設定字元來括上char,varchar 和text等字元型字段。預設情況下不使用任何符號;

fields  escaped  by    '字元':設定轉義字元,預設值為"\";

lines  starting  by   '字串' :設定每行開頭的字元,預設情況下不使用任何符號;

lines  terminated  by  '字串' :設定每行的結束符,預設值為"\n" 。

如:select * from test.student into outfile 'e:/student.txt' fields  terminated  by  '\、'  optionally  enclosed  by '\"'  lines  starting  by  '\>'  terminated  by  '\r\n';

2.用mysqldump命令匯出文字檔案

語法: mysqldump -u root -ppassword  -t 目標目錄 databasename table [option];

如:mysqldump -u root -pmysql -t e:\  test student "--fields-terminated-by=," "--fields-optionally-enclosed-by="";

匯出xml格式的檔案:

語法: mysqldump -u root -ppassword   --xml |-x databasename table>e:/name.xml;

其中 使用--xml 或-x 選項就可以匯出xml格式的檔案。 

3.用mysql命令匯出文字檔案

語法: mysql -u root -ppassword -e "select 語句」 databasename >e:/name.txt;

匯出xml格式的檔案:

語法: mysql -u root -ppassword   --xml |-x -e "select 語句」 databasename >e:/name.txt;

其中 使用--xml 或-x 選項就可以匯出xml格式的檔案。 

匯出html格式的檔案:

語法: mysql -u root -ppassword   --html|-h -e "select 語句」 databasename >e:/name.txt;

其中 使用--html或-h選項就可以匯出html格式的檔案。 

4.用load data infile 方式匯入文字檔案

語法: load data  infile file into table table [option];

如: load data  infile 』e:\student.txt' into table student fields  terminated  by  ','  optionally  enclosed  by '"' ;

語法: mysqlimport -u root -ppassword  [--local] databasename file [option];

如:mysqlimport -u root -pmysql  test e:\  test student

"--fields-terminated-by=," "--fields-optionally-enclosed-by="";

mysql備份與還原

假設mysql 安裝在c 盤,mysql資料庫的使用者名稱是root,密碼是123456,資料庫名是database name,在d 盤根目錄下面存放備份資料庫,備份資料庫名字為backup20070713.sql。備份資料庫 mysqldump uroot p123456 database nam...

mysql備份與還原

工作中用到了mysql,在這裡做個備忘記錄 1 備份 匯出整個資料庫database mysqldump u root p database dump.sql 只匯出表結構 mysqldump u root p d database dump.sql 匯出單個資料表table mysqldump a...

mysql備份與還原

cmd進入控制台視窗,進入mysql的bin目錄下,輸入 mysqldump uroot proot test tblusermonth tblusermonth.sql 解釋如下 u使用者名稱 root p密碼 root 庫名 test 表名 tblusermonth 可選 其他引數 d 匯出表結...