標籤: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叢集