lqxue

          常用鏈接

          統計

          book

          tools

          最新評論

          #

          [收藏]mysql數據庫的備份與恢復詳解

          引言:

          數據對我們來說,往往非常重要,一旦丟失,將損失巨大,因此應該養成備份和恢復數據的習慣

          正文:

          對于mysql來說,常見的備份和恢復辦法如下:

          先通過命令行進入mysql的bin目錄下,然后進行如下操作

          備份:mysqldump 需要導出的數據庫名 
          >想備份成的文件名 -u 用戶名 -p

          如我想用root用戶導出一個名為falcon_search的數據庫為一個falcon_search.mysql,那么我就可以這么做拉

          mysqldump falcon_search 
          >falcon_search.mysql -u root -p
          Enter password: 
          ******
          ******輸入你的root用戶密碼就可以拉 

          備份和恢復往往是孿生兄弟或姐妹
          下面我們來恢復

          恢復:mysqldump 需要導入為什么數據庫名 
          <備份好的文件名 -u 用戶名 -p

          假如我要恢復剛才備份的數據庫,那么我可以這么做

          mysqldump falcon_search 
          <falcon_search.mysql -u root -p
          Enter password: 
          ******
          ******輸入你的root用戶密碼就可以拉 

          到這里,我們發現mysql數據庫的備份和恢復比較簡單,是吧
          ?
          不過這種備份和恢復只能在mysql內部進行哦,也就是說這樣備份的數據不容易恢復到其他的數據庫里頭去.

          其實mysqldump還有更多強大和靈活的數據導入功能,如果與load命令想結合將很靈活的實現不同數據庫之間的備份和恢復.

          先看看mysqldump命令介紹吧:http:
          //www.top169.net/Article/Database/d03/200509/Article_14746.htm

          下面我們就把上面連接中幾個常用的東西扣出來,主要介紹如何導出數據庫的表結構(create語句),數據(insert語句),表結構定義和文本內容,然后介紹如何執行類似批處理文件sql腳本,以及如何把文本內容導入到數據庫內.
          [注:我同樣以一個數據庫名為falcon_search的數據庫來介紹]

          首先,我們導出數據庫的表結構

          mysqldump 
          -d mysqldump -d falcon_search >falcon_search.sql

          我們發現falcon_search.sql中的內容如下:
          -- MySQL dump 9.10
          --
          -- Host: localhost   Database: falcon_search
          -- ------------------------------------------------------
          -- Server version     4.0.18-nt

          --
          -- Table structure for table `cat_tab`
          --

          CREATE TABLE cat_tab (
          id 
          int(11) NOT NULL default '0',
          cat 
          char(100) binary NOT NULL default '',
          postfix 
          char(1) binary default NULL,
          pid 
          int(11default NULL,
          ipid 
          int(11) NOT NULL default '0',
          acctime 
          int(11default NULL,
          PRIMARY KEY (id,ipid)
          ) TYPE
          =MyISAM;

          --
          -- Table structure for table `file_tab`
          --

          CREATE TABLE file_tab (
          file 
          char(100) binary NOT NULL default '',
          postfix 
          char(4) binary NOT NULL default '',
          pid 
          int(11default NULL,
          ipid 
          int(11default NULL,
          acctime 
          int(11default NULL
          ) TYPE
          =MyISAM;

          --
          -- Table structure for table `key_tab`
          --

          CREATE TABLE key_tab (
          skey 
          char(100) binary NOT NULL default '',
          acctime 
          int(11default '0',
          UNIQUE KEY skey (skey)
          ) TYPE
          =MyISAM;

          --
          -- Table structure for table `site_tab`
          --

          CREATE TABLE site_tab (
          id 
          int(11) NOT NULL default '0',
          site varchar(
          15) NOT NULL default '',
          port 
          int(11default '21',
          user varchar(
          15) NOT NULL default 'anonymous',
          pw varchar(
          15) NOT NULL default 'falcon',
          acc 
          enum('N','Y'default 'N',
          indb 
          enum('N','Y'default 'N',
          info text,
          PRIMARY KEY (id)
          ) TYPE
          =MyISAM;

          里頭有詳細的信息,包括數據庫名,以及各個表的結構.

          現在我們導出數據(insert語句)

          mysqldump 
          -t falcon_search >falcon_search.txt
          注意:這里的falcon_search.txt里頭的內容是一些insert語句,也是sql腳本,在創建好對應的數據庫后可以直接執行

          直接導出上面兩項到一個文件中

          mysql falcon_search 
          >falcon_search.sql

          這里的falcon_search.sql將包括上面兩項內容

          導出表結構以及對應表中數據的文本文件

          mysqldump 
          -T . falcon_search

          生成8個文件,分別是4個表的定義文件,和四個表數據對應的文本文件

          注意這個時候的參數哦,有兩項包括
          -T(大寫)以及.(當前路徑,指明導出數據存放的路徑,你完全可以指明為其他的路徑) 

          補充:導出為文本格式的數據還有一個辦法
          例如,我要導出file_tab中的所有數據到falcon_search.txt

          select 
          * into outfile "falcon_search.txt" from file_tab;

          注意:默認路徑不再是bin目錄下,而是mysql
          /data路徑下,其實你可以自己指明路徑

          到這里我們很靈活的獲得了數據庫的集中形式了.

          下面得介紹一下備份的孿生兄弟[恢復]哦

          我們分別根據我們已經得到的備份文件來進行恢復
          [注:假設我們下面進行的恢復操作是完全在一個剛安裝的mysql上進行的]

          第一種情況

          假如我們得到的是表結構(creat語句)以及數據(insert語句)的sql腳本,即我們上面得到的falcon_search.sql和falcon_search.txt

          那么我們先根據腳步里頭的表結構腳本里頭的數據庫名創建相應的數據庫

          create database falcon_search;

          然后先在falcon_search.txt文件的最前面添加上一句

          use falcon_search;

          接著直接執行表結構對應的sql腳本

          mysql 
          <falcon_search.sql

          這樣我們就已經創建好了數據庫和表拉,剩下的是插入數據

          同樣我們先加入這么一句到falcon_searh.txt的最前面

          use falcon_search;

          接著類似執行 

          mysql 
          <falcon_search.txt

          這樣我們就進行第一種情況的恢復工作

          第二種情況

          假如我們得到僅有falcon_search.sql,即里頭即包含了表結構也包含了數據,那么我們恢復工作更簡單拉

          先創建falcon_search數據庫
          然后在falcon_search.sql語句的最前面添加一句

          use falcon_search;

          接著執行falcon_search.sql腳本就可以

          mysql 
          <falcon_search.sql


          第三種情況

          假如我們獲得的是每個表的表結果文件(表名.sql)以及各個表的數據對應的文本文件

          我們進行的工作實質上同上

          先創建數據庫[根據表結構文件中database的名]
          然后在每個sql腳本前面加上
          use falcon_search;
          接著執行各個sql腳本,創建各個表
          然后我們的重要內容是把文本文件導入到各個表中拉

          這里重點介紹一下
          需要用load data local infile 
          "文本文件(如果不是當前路徑請指明絕對路徑)" into table 表名;
          說明,其中local指明為從本地文件導入

          假如我要把當前目錄下(bin)的site_tab.txt里頭的內容導入到site_tab中
          只要

          先進入mysql的命令行下

          mysql
          >use falcon_search;
          msyql
          >load data local infile "site_tab.txt" into table site_tab;

          使用load的好處是,可以很方面通過文本文件這個途徑把其他數據庫中的內容導入到mysql中,從而作到不同數據庫之間數據的轉換拉。

          ok,到這里基本上就完了
          如果有問題可以在后面跟帖哦 
          源自:http://oss.lzu.edu.cn/blog/article.php?tid_147.html

          posted @ 2007-06-18 00:01 lqx 閱讀(319) | 評論 (0)編輯 收藏

          code too large for try statement

          try giving this in the deployment descriptor.

          <jsp-param>
          <param-name>noTryBlocks</param-name>
          <param-value>true</param-value>
          </jsp-param>

          it would remove the 
          try catch blocks This is an way not sure if it is advicable. 

          posted @ 2007-06-17 20:55 lqx 閱讀(497) | 評論 (0)編輯 收藏

          MySQL 添加賬戶的3條SQL語句

          MySQL 添加賬戶的3條SQL語句:

           
          -- 添加管理員帳號GRANT all PRIVILEGES on *.* to 'admin'@'localhost' identified BY 'admin' with GRANT OPTION;--使用舊的密碼加密方式SET password for 'admin'@'localhost' = old_password('admin');--刷新權限flush PRIVILEGES; 

          posted @ 2007-06-16 12:01 lqx 閱讀(531) | 評論 (0)編輯 收藏

          linux 部署 tomcat/mysql

          一、數據庫安裝
              1、通過ssh將sql文件傳到服務器
              2、用如下命令即可建立起數據庫      

                      1〉mysql -u用戶名 -p 數據庫名 < 數據庫名.sql

                   或者:source c:\temp\test.sql
                  2〉察看表結構desc talename
                  3>查看外鍵或表結構 show create table tableName;
                  4〉查看mysql 信息 \s 或 select version();
                  5>備份:mysqldump --opt database > backup-file.sql  
          二.設定tomcat jvm內存參數

              把下面這句話加進catalina.sh里即可
              JAVA_OPTS="-Xms512m -Xmx1024m" 
              查看是否成功設定該參數:  
              啟動起來tomcat;執行命令ps -ef|grep java能看到啟動起來的tomcat加了該參數沒有,有就是設定成功了。
              跟蹤日至文件:tail -f catalina.out
          參考鏈接:
                    Mysql 命令參考
                    http://database.csdn.net/page/1bcc303f-6ac9-48e2-9c7b-fac9e55f5b60
                    http://dev.mysql.com/doc/refman/5.1/zh/index.html
                    Linux命令參考
                    http://zhanjun.net/?q=node/29
                    http://www.me94me.com/blog/post/119.html

          mysql --port=3308 --socket=/usr/lqx/zywdb/mysql.sock -uroot -p


          ./mysqld_safe --port=3308 --ledir=/usr/lqx/zywdb/bin/  --socket=/usr/lqx/zywdb/mysql.sock --log-error=/usr/lqx/zywdb/e.error --user=zyw &

          posted @ 2007-06-13 10:41 lqx 閱讀(347) | 評論 (0)編輯 收藏

          [收藏] J2ME程序開發全方位基礎講解匯總

          http://blog.csdn.net/HuDon/archive/2007/06/11/1647959.aspx

          posted @ 2007-06-12 14:48 lqx 閱讀(118) | 評論 (0)編輯 收藏

          timer


          posted @ 2007-06-11 14:30 lqx 閱讀(143) | 評論 (0)編輯 收藏

          radio & label

          This example uses the LABEL object and the accessKey property to set focus on a text box.

          Sample Code

          <LABEL FOR="oCtrlID" ACCESSKEY="1">
              #
          <U>1</U>: Press Alt+1 to set focus to textbox
          </LABEL>
          <INPUT TYPE="text" NAME="TXT1" VALUE="binding sample 1" 
                 SIZE
          ="20" TABINDEX="1" ID="oCtrlID">


          posted @ 2007-06-06 16:39 lqx 閱讀(187) | 評論 (0)編輯 收藏

          ROOT_ENTITY

          當hibernate中關聯查詢時,返回的結果集經常是個數組,可以通過下邊的設置,使之自動合并到一個bean中
          criteria.setProjection(null).setResultTransformer(CriteriaSpecification.ROOT_ENTITY);

          posted @ 2007-06-04 17:36 lqx 閱讀(272) | 評論 (0)編輯 收藏

          用native2ascii將ApplicationResources.properties中的中文轉化成unicode碼

          我的做法是
          1.在clipsee中創建這樣一個文件ApplicationResources.properties_zh,自然里邊就用來保存中文了.而且系統會自動地以GBK的方式存儲該文件,所有該文件在eclipse里也可以顯示,不至于像 ApplicationResources.properties 那樣出現亂碼.

          2.用native2ascii工具轉換該文件成unicode碼,這個工具就在jdk的bin下,使用的方式如下:
          native2ascii.exe ApplicationResources.properties_zh ApplicationResources.properties

          ant:
          <native2ascii src="${dir.target}" includes="Resources.properties" dest="${dir.target}/ascii" encoding="utf-8"/>

          詳細說明:http://ant.apache.org/manual/OptionalTasks/native2ascii.html

          posted @ 2007-06-04 15:55 lqx 閱讀(456) | 評論 (0)編輯 收藏

          java內存監測

          1、關于Runtime的totalMemory和freeMemory的區別
              很簡單,totalMemory就是目前jvm中的內存總量,這個值是可以變的,最大等于你設定的jvm可用最大內存總量(eg.-Xmx512M表明你的jvm最大內存量就是512M),最小等于你設定的jvm最小內存總量(-Xms128M)。
              freeMomory就是當前jvm中可以用來分配的內存量。

          2、為了檢測一個方法到底是多么的耗費內存,我寫了個線程來監視它,在方法調用之前啟動該線程,調用后停止該線程,線程執行期間會定期的打印出內存情況到控制臺。
             
          public class MemoryListner implements Runnable {
                  
          private boolean stop1;

                  
          public MemoryListner(boolean stop) {
                      
          this.stop1 = stop;
                  }
                  
          public void run() {
                      
          while (!stop1) {
                          
          try {
                              Thread.sleep(
          100);
                          } 
          catch (InterruptedException e) {
                              e.printStackTrace();
                          }
                          System.out.println(Runtime.getRuntime().totalMemory()
          +":"+Runtime.getRuntime().freeMemory());
                      }
                      System.out.println(
          "Complete");
                  }
                 public void stop(){
                    this.stop1 = true;
                 }

              }


          posted @ 2007-06-01 08:58 lqx 閱讀(404) | 評論 (0)編輯 收藏

          僅列出標題
          共18頁: First 上一頁 10 11 12 13 14 15 16 17 18 下一頁 
          主站蜘蛛池模板: 邻水| 洪泽县| 体育| 遵义县| 盐亭县| 大渡口区| 黑河市| 定州市| 怀宁县| 韩城市| 柳河县| 滕州市| 永安市| 鹿邑县| 柘城县| 新龙县| 北海市| 会同县| 武冈市| 南靖县| 扎兰屯市| 南开区| 曲靖市| 南充市| 临泉县| 乌兰县| 无棣县| 阳高县| 揭阳市| 云和县| 夏河县| 瑞安市| 崇左市| 出国| 应城市| 绥江县| 西畴县| 墨玉县| 云林县| 伊金霍洛旗| 千阳县|