亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

關于MySQL數據庫備份的基礎知識大全

添加時間:2014-3-1 16:43:01  添加: 思海網絡 
IT168 文檔】平時我們在使用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選項來定。

  -u user_name, --user=user_name

  與服務器連接時,MySQL使用的用戶名。缺省值是你的Unix登錄名。

  -O var=option, --set-variable var=option

  設置一個變量的值。可能的變量被列在下面。

  -v, --verbose

  冗長模式。打印出程序所做的更多的信息。

  -V, --version

  打印版本信息并且退出。

  -w, --where='where-condition'

  只導出被選擇了的記錄;注意引號是強制的!

  "--where=user='jimf'" "-wuserid>1" "-wuserid1"

  最常見的mysqldump使用可能制作整個數據庫的一個備份:

  mysqldump --opt database > backup-file.sql

  但是它對用來自于一個數據庫的信息充實另外一個MySQL數據庫備份也是有用的:

  mysqldump --opt database

  MySQL--host=remote-host -C database

  由于mysqldump導出的是完整的SQL語句,所以用MySQL數據庫備份客戶程序很容易就能把數據導入了:

  mysqladmin create target_db_name

  MySQL target_db_name backup-file.sql

  MySQL數據庫備份雖然大家在平時不經常遇到,但是多熟悉一門知識總不是壞事。MySQL數據庫備份在使用的時候對于剛剛接觸的人來說是保護數據庫不會由于認為操作失誤而導致數據丟失。

  【IT168 文檔】平時我們在使用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選項來定。

  -u user_name, --user=user_name

  與服務器連接時,MySQL使用的用戶名。缺省值是你的Unix登錄名。

  -O var=option, --set-variable var=option

  設置一個變量的值。可能的變量被列在下面。

  -v, --verbose

  冗長模式。打印出程序所做的更多的信息。

  -V, --version

  打印版本信息并且退出。

  -w, --where='where-condition'

  只導出被選擇了的記錄;注意引號是強制的!

  "--where=user='jimf'" "-wuserid>1" "-wuserid1"

  最常見的mysqldump使用可能制作整個數據庫的一個備份:

  mysqldump --opt database > backup-file.sql

  但是它對用來自于一個數據庫的信息充實另外一個MySQL數據庫備份也是有用的:

  mysqldump --opt database

  MySQL--host=remote-host -C database

  由于mysqldump導出的是完整的SQL語句,所以用MySQL數據庫備份客戶程序很容易就能把數據導入了:

  mysqladmin create target_db_name

  MySQL target_db_name backup-file.sql

  MySQL數據庫備份雖然大家在平時不經常遇到,但是多熟悉一門知識總不是壞事。MySQL數據庫備份在使用的時候對于剛剛接觸的人來說是保護數據庫不會由于認為操作失誤而導致數據丟失。

關鍵字:MySQL、數據庫

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站