最簡便的備份MySql資料庫方法

爱魅呦

爱魅呦

2016-01-29 15:00

最簡便的備份MySql資料庫方法,最簡便的備份MySql資料庫方法
使用MYSQL進行資料庫備份,有很正規的資料庫備份方法,同其他的資料庫伺服器有相同的概念,但有沒有想過,MySQL會有更簡捷的使用檔目錄的備份方法,而且又快有好。

一、資料備份捷徑

因為這個方法沒有得到官方正式文檔的驗證,我們暫稱為試驗吧。

目的:備份hostA主機中一個mysql資料庫TestA,並恢復到到hostB機中

試驗環境:

作業系統:WinNT4.0,Mysql3.22.34,phpMyAdmin 2.1.0

在hostA中安裝mysql資料庫並建立TestA資料庫

hostB機安裝mysql資料庫,沒有TestA資料庫

方法步驟:

啟動phpMyAdmin察看HostA和HostB中的資料庫列表,在HostB中沒有TestA資料庫

找到HostA中mysql的安裝目錄,並找到資料庫目錄data

在我的試驗環境中,這個目錄是

C:mysqldata

找到對應資料庫名稱的子目錄

C:mysqldataTestA

粘貼拷貝到HostB的Data目錄下,是HostA同HostB Mysql資料目錄下的檔相同

刷新HostB的phpMyAdmin察看一下資料庫列表,我們看到TestA已經出現,並且作查詢修改等操作都正常,備份恢復恢復成功

試驗結論:Mysql的資料庫可以通過檔形式保存,備份,恢復只要將相應檔目錄恢復即可,無需使用其他工具備份。

二、正規的方法(官方建議):

導出要用到MySQL的mysqldump工具,基本用法是:

代碼:

mysqldump [OPTIONS] database [tables]



如果你不給定任何表,整個資料庫將被導出。

通過執行mysqldump --help,你能得到你mysqldump的版本支援的選項表。

注意,如果你運行mysqldump沒有--quick或--opt選項,mysqldump將在導出結果前裝載整個結果集到記憶體中,如果你正在導出一個大的資料庫,這將可能是一個問題。

mysqldump支援下列選項:

--add-locks

在每個表導出之前增加LOCK TABLES並且之後UNLOCK TABLE。(為了使得更快地插入到MySQL)。

--add-drop-table

在每個create語句之前增加一個drop table。

--allow-keywords

允許創建是關鍵字的列名字。這由在列名前面加表名的方法做到。

-c, --complete-insert

使用完整的insert語句(用列名字)。

-C, --compress

如果客戶和伺服器均支援壓縮,壓縮兩者間所有的資訊。

--delayed

用INSERT DELAYED命令插入行。

-e, --extended-insert

使用全新多行INSERT語法。(給出更緊縮並且更快的插入語句)

-#, --debug[=option_string]

跟蹤程式的使用(為了調試)。

--help

顯示一條幫助消息並且退出。

--fields-terminated-by=...

--fields-enclosed-by=...

--fields-optionally-enclosed-by=...

--fields-escaped-by=...

--fields-terminated-by=...

這些選擇與-T選擇一起使用,並且有相應的LOAD DATA INFILE子句相同的含義。

LOAD DATA INFILE語法。

-F, --flush-logs

在開始導出前,洗掉在MySQL伺服器中的日誌檔。

-f, --force,

即使我們在一個表導出期間得到一個SQL錯誤,繼續。

-h, --host=..

從命名的主機上的MySQL伺服器導出資料。缺省主機是localhost。

-l, --lock-tables.

為開始導出鎖定所有表。

-t, --no-create-info

不寫入表創建資訊(CREATE TABLE語句)

-d, --no-data

不寫入表的任何行資訊。如果你只想得到一個表的結構的導出,這是很有用的!

--opt

同--quick --add-drop-table --add-locks --extended-insert --lock-tables。

應該給你為讀入一個MySQL伺服器的盡可能最快的導出。

-pyour_pass, --password[=your_pass]

與伺服器連接時使用的口令。如果你不指定“=your_pass”部分,mysqldump需要來自終端的口令。

-P port_num, --port=port_num

與一台主機連接時使用的TCP/IP埠號。(這用於連接到localhost以外的主機,因為它使用 Unix套接字。)

-q, --quick

不緩衝查詢,直接導出至stdout;使用mysql_use_result()做它。

-S /path/to/socket, --socket=/path/to/socket

與localhost連接時(它是缺省主機)使用的套接字檔。

-T, --tab=path-to-some-directory

對於每個給定的表,創建一個table_name.sql檔,它包含SQL CREATE 命令,和一個table_name.txt檔,它包含資料。 注意:這只有在mysqldump運行在mysqld守護進程運行的同一台機器上的時候才工作。.txt檔的格式根據--fields-xxx和--lines--xxx選項來
展开更多 50%)
分享

猜你喜欢

最簡便的備份MySql資料庫方法

MySQL mysql数据库
最簡便的備份MySql資料庫方法

如何做到多筆資料的同步

PHP
如何做到多筆資料的同步

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

SQL Server7.0 Web資料搜尋技巧

SQLServer
SQL Server7.0 Web資料搜尋技巧

排宿便的方法

生活常识 养生 健康
排宿便的方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

簡繁体转换的class

PHP
簡繁体转换的class

最简便的备份MySql数据库方法

SQLServer
最简便的备份MySql数据库方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用libtemplate实现静态网页生成

用libtemplate实现静态网页生成

Access数据库技术(22)

Access数据库技术(22)
下拉加载更多内容 ↓