本地遠程連接騰訊雲服務器Ubuntu的MySQL


1.安裝MySQL

1.1、安裝MySQL(若已安裝直接跳到步驟2)

sudo apt-get install mysql-server 

1.2、安裝完成后登陸mysql

mysql -u root -p

1.3、登陸后查看版本

select version(); 
 
image

1.4、到此一切正常。

2.配置MySQL

2.1、用Navicat登陸MySQL。

(騰訊雲Ubuntu 16.04為例)

2.2、修改/etc/mysql/mysql.conf.d/mysqld.cnf

vim /etc/mysql/mysql.conf.d/mysqld.cnf

2.3、將bind-address = 127.0.0.1更改為bind-address = 0.0.0.0

2.4、保存退出

2.5、登陸MySQL

 //先輸入密碼登陸 mysql -root -p //然后選擇數據庫 mysql>use mysql; //選擇root的賬戶host改為%,上面2.3中已改地址,這一步不確定是否必要 mysql> update user set host='%' where user='root'; //授權 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '填寫root的密碼' WITH GRANT OPTION; //更新權限 FLUSH PRIVILEGES; //查詢數據庫用戶 mysql>SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; //退出mysql重啟mysql /etc/init.d/mysql restart 
 
image

2.6、若想添加新用戶,不用root

//創建 test123用戶,設置密碼為 123456 CREATE USER test123 IDENTIFIED BY '123456'; //授權 GRANT ALL PRIVILEGES ON *.* TO 'test123'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; //更新權限 FLUSH PRIVILEGES; //退出mysql重啟mysql /etc/init.d/mysql restart 

2.7、騰訊雲開放連接權限,我這里是默認開放所有端口,因為方便並且沒什么重要東西就無所謂,建議只開放22,3306端口。

 
image

3.Navicat遠程連接

 
image

3.1、遠程連接mysql后,嘗試用sql語句插入帶自增主鍵屬性的表,在略過主鍵插入時,雖然成功插入數據,但是會提示: [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_s
解決辦法:

set @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; 

4.創建Java或JavaWeb項目訪問數據庫

4.1、下載mysql的jar包,點擊此跳轉百度雲下載

4.2、附上Java連接代碼(改IP賬戶密碼就行)

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class connectDB { public static void main(String[] args) { //聲明Connection對象 Connection con; //驅動程序名 String driver = "com.mysql.jdbc.Driver"; //URL指向要訪問的數據庫名mydata String url = "jdbc:mysql://填寫你的騰訊雲IP:3306/mysql"; //MySQL配置時的用戶名 String user = "root"; //MySQL配置時的密碼 String password = "填寫你的密碼"; //遍歷查詢結果集 try { //加載驅動程序 Class.forName(driver); //1.getConnection()方法,連接MySQL數據庫!! con = DriverManager.getConnection(url,user,password); if(!con.isClosed()) System.out.println("Succeeded connecting to the Database!"); //2.創建statement類對象,用來執行SQL語句!! Statement statement = con.createStatement(); //要執行的SQL語句 String sql = "select * from user"; //3.ResultSet類,用來存放獲取的結果集!! ResultSet rs = statement.executeQuery(sql); System.out.println("-----------------"); System.out.println("執行結果如下所示:"); System.out.println("-----------------"); String job = null; String id = null; while(rs.next()){ //獲取stuname這列數據 job = rs.getString("user"); //輸出結果 System.out.println(job); } rs.close(); con.close(); } catch(ClassNotFoundException e) { //數據庫驅動類異常處理 System.out.println("Sorry,can`t find the Driver!"); e.printStackTrace(); } catch(SQLException e) { //數據庫連接失敗異常處理 e.printStackTrace(); }catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally{ System.out.println("數據庫數據成功獲取!!"); } } } 

運行截圖

 
image

4.3、附上JavaWeb連接代碼,寫在servlet一樣(改IP賬戶密碼就行)

<%

運行截圖

 
image


作者:Superbsco
鏈接: https://www.jianshu.com/p/e723f3d68dc7
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM