1. 程式人生 > >mysql不同資料庫之間的同步

mysql不同資料庫之間的同步

前提:目前MySql資料庫中有兩個資料庫,名稱分別為:db01和db02。db01中的人員表叫t_user_info;db02中的人員表叫t_user。需求:將表t_user_info(id,name,type,content,createtime)的資料匯入到表t_use( userid,username,usertype, usercontent,user createtime)中。

第一步:運用JDBC建立資料來源

 /**

  * JDBC連線資料庫(db01) bgy

  * @return Connection

  */

     public static Connection getConnection01() throws

               SQLException,java.lang.ClassNotFoundException

    {

       //第一步:載入MySQL的JDBC的驅動

       Class.forName("com.mysql.jdbc.Driver");

       //取得連線的url,能訪問MySQL資料庫的使用者名稱,密碼;db01:資料庫名

       String url = "jdbc:mysql://192.168.88.1:3306/db01";       

       String username = "bgy01";

       String password = "123456";

       //第二步:建立與MySQL資料庫的連線類的例項

       Connection con01 = (Connection) DriverManager.getConnection(url, username, password);       

       return con01;       

    }

    /**

     * JDBC連線資料庫(db02) bgy

     * @return Connection

     */

    public static Connection getConnection02() throws SQLException,java.lang.ClassNotFoundException

    {

       //第一步:載入MySQL的JDBC的驅動

       Class.forName("com.mysql.jdbc.Driver");

       //取得連線的url,能訪問MySQL資料庫的使用者名稱,密碼;db02:資料庫名

       String url = "jdbc:mysql://192.168.88.2:3306/db02";       

       String username = "bgy02";

       String password = "123456";

       //第二步:建立與MySQL資料庫的連線類的例項

       Connection con02 = (Connection) DriverManager.getConnection(url, username, password);       

       return con02;       

    }

第二步:同步資料實現詳細(方法dSynchronous())

/**

     * 同步資料 bgy

     * @return String

     * @throws ClassNotFoundException

     * @throws SQLException

     */

    public String dSynchronous() throws SQLException, ClassNotFoundException

    {

       //前臺傳來值

       String param = request.getParameter("param");

       try

       {

           //設定“db01”資料來源

           Connection con01 = getConnection01();           

           Statement sql_statement01 = (Statement) con01.createStatement();

           //設定“db02”資料來源

           Connection con02 = getConnection02();           

           Statement sql_statement02 = (Statement) con02.createStatement();

           //人員資訊1

           if("1".equals(param))

           {

              //定位至db01

              sql_statement01.executeUpdate("use db01");

              //定位至db02

              sql_statement02.executeUpdate("use db02");

              //刪除“db02”使用者表t_user的資料

              String query1 = "TRUNCATE TABLE t_user;"; //TRUNCATE比DELETE效率高太多

              sql_statement02.executeUpdate(query1);

              String query2 = "ALTER TABLE t_user AUTO_INCREMENT=1;"; //自增序列設為1

              sql_statement02.executeUpdate(query2);

              //向“db02”使用者表t_user插入資料

              int tag = sql_statement02.executeUpdate("INSERT INTO db02.t_user (id, name,type,content,createtime) SELECT userid, username, usertype, usercontent, usercreatetime FROM db01.t_user_info");

                 String jsondata = null;

              if(tag > 0)

              {

                  jsondata = "{'flag':'ok'}";

              }

              else

              {

                  jsondata = "{'flag':'error'}";

              }

           }

           //“其餘”

           if("2".equals(param))

           {

              //業務邏輯程式碼

           }

           //“其餘”

           else

           {

              //業務邏輯程式碼

           }

           //關閉資料來源

           sql_statement01.close();

           conWly.close();

           sql_statement02.close();

           conYxl.close();

       }

       catch(java.lang.ClassNotFoundException e)

       {

            //載入JDBC錯誤,所要用的驅動沒有找到

            System.err.print("ClassNotFoundException");

            //其他錯誤

            System.err.println(e.getMessage());

       }

       catch(SQLException ex)

       {

           //顯示資料庫連線錯誤或查詢錯誤

           System.err.println("SQLException: " + ex.getMessage());

       }

       return SUCCESS;

    }

相關推薦

mysql不同資料庫之間同步

前提:目前MySql資料庫中有兩個資料庫,名稱分別為:db01和db02。db01中的人員表叫t_user_info;db02中的人員表叫t_user。需求:將表t_user_info(id,name,type,content,createtime)的資料匯入到表t_use(

同一伺服器上不同資料庫之間同步表資料

在同一個伺服器上有兩個資料庫A和B,現在想取B資料庫中的某個表中的資料插入到A中,做法是: 1、首先在A資料庫中建立一個dblink,其中testLink是dblink名字隨便取,username跟password都是B資料庫的登入名跟密碼; create public database link tes

MYSQL不同資料庫不同機器之間同步——協議

環境要求: Windows 作業系統 需要Mysql 3.23.15以後的版本。 假設資料庫A為主機,資料庫B為從機(A向B提供同步服務,即B中的資料來自A) A機器:IP=10.10.151.166 B機器:IP=10.10.151.156 下面看單向同步的配置步驟: 1  

MYSQL資料庫同一臺機器不同資料庫之間的資料同步

1.主上修改my.cnf檔案:server-id=1log-bin=mysql-bin2.從上修改配置檔案 my.cnfserver-id=2relay-log=relay-binread-only =1replicate-ignore-db = mysqlreplicate

不同資料庫之間表資料的實時同步-釋出與訂閱

最近要將不同伺服器上資料庫的表資料同步彙總,所以就涉及到了資料同步的問題,以前沒有接觸過,在網上找了找方法,  大抵的方法有三種: 1,在資料庫中編寫觸發器 2,寫一個同步程式去完成同步 3,使用資料庫的釋出和訂閱功能 以上前兩種方法暫且不提,今天說說第三種方法:使用資

SQL Server 跨伺服器 不同資料庫之間的表操作

--建立連結 EXEC sp_addlinkedserver '伺服器別名', '', 'SQLOLEDB', '139.196.*.*(IP地址)' EXEC sp_addlinkedsrvlogin '伺服器別名', 'false', NULL, '使用者名稱', '密碼' --表操作

SQLyog:如何在不同資料庫之間複製表

背景: 當我們需要複製多個表的資料並且資料量大,我們可以通過SQLyog的“將資料庫複製到不同的資料庫/表”的功能。它確實非常給力,如果你需要在不同伺服器之間複製資料,首先你需要連線上多個數

sqlserver-不同資料庫之間的資料互動

在 A資料庫中,需要查詢B資料庫中b_table這張表的資料↓select * from B.dbo.b_table即可,增刪改 操作按以上原來即可完成。可通用在建立觸發器,定時器,儲存過程,自定義函式等

實現兩個MySQL資料庫之間的主從同步_資料庫技術

www.syncnavigator.cn SyncNavigator 資料酷同步工具 做資料同步時所支援的資料庫型別: 支援sqlserver 2000-2014所有版本,全相容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。 來源資料庫和目標資料庫可以版本不

mysql、sqlserver資料庫之間的資料同步

Windows 作業系統 需要Mysql 3.23.15以後的版本。 假設資料庫A為主機,資料庫B為從機(A向B提供同步服務,即B中的資料來自A) A機器:IP=10.10.151.166 B機器:IP=10.10.151.156 下面看單向同步的配置步驟: 1 在機器A中建立一個新的資料庫,sq

Oracle、MYSQL、db2資料庫之間不同以及使用

Mysql這種方式很初級最容易被人想到,Database與User分開是跟其他兩個的區別,用授權來關聯使用者和資料庫。jdbc的連線地址裡面,三者分別指定了Database、User、User(&Schema),Db2如果不單獨建立Schema則形式是跟Oracle一樣的。Db2的User只能是作業系

不同伺服器資料庫之間的資料操作--複製同步(整理版)

以下實現複製步驟(以快照複製為例) 執行平臺SQL SERVER 2005 一、準備工作: 1.建立一個 WINDOWS 使用者,設定為管理員許可權,並設定密碼,作為釋出快照檔案的有效訪問使用者。 2.在SQL SERVER下實現釋出伺服器和訂閱伺服器的通訊正常(即可以互訪)。開啟1433埠,

不同伺服器資料庫之間的資料操作,資料同步

不同資料庫資料同步   INSERT INTO TB_BASE_USER_ORGANISEUNIT([GH]       ,[ORGANISEUNITID]       ,[U_ORD

資料庫-->淺談Mysql不同儲存引擎之間的區別

MyISAM儲存引擎 缺點:不支援事務、不支援外來鍵 優點:訪問速度快,支援全文索引、壓縮索引 應用場景:對事務完整性沒有要求或者

使用 curl() 函數實現不同站點之間註冊用戶的同步

return pla ie 10 erro close header 實現 bst none 一 需求 在A站點註冊一個新用戶,那麽,在B站點也會被同時註冊 二 思路 在A站點註冊的同時,調用API接口實現在B站點也會被同時註冊 三 實現 主要代碼如下: 1 func

不同服務器的mysql數據庫同步

mysql 數據庫同步目標:A服務器上自建的數據庫同步到B服務器上自建的數據庫。阿裏雲的RDS數據庫A同步到B服務器上自建的數據庫。A的數據庫名為:mytest基礎:linux,會配置my.cnf開始:下面稱前者A為主服務器,後者B為從服務器。先在A服務器查看:sql語句:show master status

SqlServer 資料庫同步的兩種方式 (釋出、訂閱),主從資料庫之間同步

  www.syncnavigator.cn SyncNavigator 資料同步工具  做資料同步時所支援的資料庫型別: 支援sqlserver 2000-2014所有版本,全相容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。 來源

資料同步-資料庫資料庫之間同步

www.syncnavigator.cn SyncNavigator 資料酷同步工具 做資料同步時所支援的資料庫型別: 支援sqlserver 2000-2014所有版本,全相容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。 來源資料庫和目標資料庫可以版本不

資料庫之間的資料同步SyncNavigator

WWW.SyncNavigator.CN    資料同步的軟體 SyncNavigator是一款專門用於SqlServer、Mysql資料同步的軟體,由國內頂級開發團隊開發完成,經歷8年逐步完善,目前具備強大的資料同步功能,國內很多大型連鎖超市,企業,公司都在用Sy

實現兩個資料庫之間的資料同步

不同伺服器資料庫之間的資料操作   --建立連結伺服器  exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '遠