1. 程式人生 > >【MySQL集群】——Java程序連接MySQL集群

【MySQL集群】——Java程序連接MySQL集群

manager jdbc rda catch exe 連接 text 個數 trac

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

外部程序想要遠程連接到mysql集群,還須要做的一個操作就是設置sql節點的mysql能夠被遠程連接。
詳細操作為:

mysql> grant all privileges on MySQL_Cluster_Test.* to root@‘%‘ 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集群