• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            教父的告白
            一切都是紙老虎
            posts - 82,  comments - 7,  trackbacks - 0
            數據庫備份是很重要的。如果定期做好備份,這樣就可以在發生系統崩潰時恢復數據到最后一次正常的狀態,把損失減小到最少。
            以前在FREEBSD系統里面都先把MYSQL停掉,然后直接用tar命令直接把數據庫文件打包,下載到本地。如果要恢復數據庫,也是直接上傳,用tar解壓,然后設置下權限就可以用了。

            現在在windows下,本來用PHPmyadmin管理數據庫是很好,但是本地的服務器,死活連不上數據庫,新版的2.11的我都不知道怎么配置,汗死!用MySQL Control Center 等客戶端軟件也不行,暈死了! 無奈,只好用mysqldump 來備份了!

            因為沒有好好的準備 ,以為mysqldump 是 MYSQL解析器里面的命令-_-!! 死活運行不起來。
            使用了之后,才發現。。原來,MYSQL的備份可以這么美的。哈哈。。(漸遠!)

            好了,收集了一些mysqldump命令的語法,先學學!
            用mysqldump對MySQL數據庫進行數據備份與恢復

            MySQLl提供了一個mysqldump命令,我們可以用它進行數據備份,下面假設要備份yejihao_agent這個數據庫:

            #mysqldump -u root -p yejihao_agent > yejihao_agent.sql

            按提示輸入密碼,這就把yejihao_agent數據庫所有的表結構和數據備份到yejihao_agent.sql了,因為要總進行備份工作,如果數據量大會占用很大空間,這時可以利用gzip壓縮數據,命令如下:

            #mysqldump -u root -p yejihao_agent | gzip > yejihao_agent.sql.gz

            系統崩潰,重建系統時,可以這樣恢復數據:

            #mysql -u root -p yejihao_agent < yejihao_agent.sql

            從壓縮文件直接恢復:

            #gzip < yejihao_agent.sql.gz | mysql -u root -p yejihao_agent

            /*************************************/
            命令解釋 
            /************************************/

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

            shell> 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" "-wuserid<1"  

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

            mysqldump --opt database > backup-file.sql   

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

            mysqldump --opt database | mysql --host=remote-host -C database   

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

            shell> mysqladmin create target_db_name   
            shell> mysql target_db_name < backup-file.sql  
            就是  
            shell> mysql 庫名 < 文件名  

            posted on 2010-03-31 22:15 暗夜教父 閱讀(417) 評論(0)  編輯 收藏 引用 所屬分類: Linux & Unix

            <2009年9月>
            303112345
            6789101112
            13141516171819
            20212223242526
            27282930123
            45678910

            常用鏈接

            留言簿(2)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久精品国产亚洲精品| 国产美女久久久| 狠狠色丁香久久婷婷综合| 色妞色综合久久夜夜| 国产99久久九九精品无码| 久久久久人妻一区精品果冻| 久久免费视频1| 欧美精品一区二区精品久久| 久久久国产99久久国产一| 久久线看观看精品香蕉国产| 久久伊人精品青青草原日本| 99久久中文字幕| 东方aⅴ免费观看久久av| 久久精品国产精品亚洲下载 | 91精品国产91久久久久久蜜臀| 精品综合久久久久久88小说 | 久久影视综合亚洲| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 国产精品久久波多野结衣| 国产精品成人久久久| 国产成人精品久久| 99久久免费国产特黄| 亚洲国产精品无码久久久蜜芽 | 国产呻吟久久久久久久92| 久久精品人人做人人妻人人玩| 精品久久久一二三区| 要久久爱在线免费观看| 久久综合精品国产一区二区三区| 91超碰碰碰碰久久久久久综合| 国产精品久久永久免费| 国产产无码乱码精品久久鸭| 欧美丰满熟妇BBB久久久| 亚洲精品乱码久久久久66| 久久国语露脸国产精品电影| 久久只有这精品99| 中文字幕热久久久久久久| 久久国产免费直播| 久久久久久久亚洲Av无码| 久久国产精品成人影院| 精品国产VA久久久久久久冰 | 国产亚洲成人久久|