【MySQL叢集】——Java程式串連MySQL叢集

來源:互聯網
上載者:User

標籤:mysql叢集   nload   string   text   多個   query   無法   div   點擊   

上篇簡介了怎樣在Windows環境下建立配置MySQL叢集,這裡用一個實現注冊功能的小Demo通過jdbc的方式串連到MySQL叢集中。

外部程式想要遠端連線到mysql叢集,還須要做的一個操作就是設定sql節點的mysql能夠被遠端連線。
詳細操作為:

mysql> grant all privileges on MySQL_Cluster_Test.* to [email protected]‘%‘ identified by ‘‘;  mysql> flush privileges;

表示將MySQL_Cluster_Test這個資料庫中全部的表授權給全部機器,登入名稱為root。password為空白。假設僅僅指定某台機器能夠串連此資料節點。那把“%”換成對應IP就可以。

UserDAO代碼:

public class UserDAO{    /**     * 加入使用者     * @param name username     * @param age 使用者年齡     * @return     */    public boolean AddUser(String name,int age){        boolean result=false;//傳回值默覺得false        Connection conn=null;//建立資料庫連接對象Connection        PreparedStatement pstmt=null;//建立預先處理對象PreparedStatement        try {            //注冊驅動            Class.forName("com.mysql.jdbc.Driver");            //建立串連            conn=DriverManager.getConnection("jdbc:mysql://192.168.25.48:3306/MySQL_Cluster_Test","root","");               }catch (Exception e){            e.printStackTrace();        }        try{                        String sql="insert into T_User (Name,Age) values(?,?)";            pstmt=conn.prepareStatement(sql);            pstmt.setString(1, name);                      pstmt.setInt(2, age);            int count=pstmt.executeUpdate();   //更新資料庫並返回受影響行數            if(count>0){                result=true;            }        }catch(Exception e){            e.printStackTrace();        }        return result;    }    /**     * 查詢全部使用者     * @return List<User>     */    public List<User> QueryAllUsers(){        List<User> userList=new ArrayList<User>();        Connection conn=null;        Statement stmt=null;        try {            //注冊驅動            Class.forName("com.mysql.jdbc.Driver");            //建立串連            conn=DriverManager.getConnection("jdbc:mysql://192.168.25.48:3306/MySQL_Cluster_Test","root","");               }catch (Exception e){            e.printStackTrace();        }        try {            String sql = "select * from T_User";            stmt=conn.createStatement();            ResultSet rs =stmt.executeQuery(sql);            while(rs.next()){                User tmpUser=new User();                tmpUser.setName(rs.getString("Name"));                tmpUser.setAge(rs.getInt("Age"));                userList.add(tmpUser);            }        } catch (SQLException e) {            e.printStackTrace();        }        return userList;    }}

假設前面的MySQL叢集配置好的話,就能夠實現多個server上公布的外部程式都能夠共用、操作整個叢集中的資料。

但此時的MySQL叢集還無法實現負載平衡和讀寫分離的效果,僅僅起到了資料備份的作用。

後面將繼續研究怎樣實現MySQL叢集的負載平衡和讀寫分離。

(以上僅僅是主要代碼,假設須要整個項目,能夠點擊【】下載原始碼)

【MySQL叢集】——Java程式串連MySQL叢集

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.