Mysql默認關閉遠程登錄許可權,需要給遠程用戶添加許可權才能連接。
通過select*from mysql.user\G 查看用戶及許可權。
一.允許root用戶在任何地方進行遠程登錄,並具有所有庫任何操作許可權,具體操作如下:
1、在本機先使用root用戶登錄mysql:
mysql -u root -p"password"
2、進行授權操作:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
3、重載授權表:flush privileges;
二.允許root用戶在一個特定的IP進行遠程登錄,並具有所有庫任何操作許可權,具體操作如下:
1、在本機先使用root用戶登錄mysql:
mysql -u root -p"password"
2、進行授權操作:
GRANT ALL PRIVILEGES ON *.* TO root@"172.16.16.152" IDENTIFIED BY "password" WITH GRANT OPTION;
3、重載授權表:flush privileges;
『貳』 java 連接遠程mysql 配置的數據源jdbc.url=jdbc:mysql://localhost:3306/dl_table,把localhost:3306
先拿工具連一下遠程的ip+port,比如用navicat一類的,看能連上不,如果連不上,可能以下2個原因:
1、遠程的IP或者埠無法訪問,這個只能從網路上想辦法,看看是不是過了NAT,或者是不是有防火牆
2、遠程的mysql僅允許本地訪問,這個要改帳號連接許可權
『叄』 java用區域網連接遠程mysql資料庫
這個很簡單,和你連接自己本地的Mysql一樣,只是將目標主機的地址改為遠程主機的IP地址,核心代碼如下:
public static void main(String[] args) {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://遠程主機IP:3306/","用戶名","密碼");
System.out.println(「 遠程Mysql連接測試: 」 + conn);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
『肆』 請問單純用jdbc能連接 遠程的資料庫嗎
可以,把地址換了就可以了。
遠程必須有許可權
『伍』 怎麼用jdbc連接mysql資料庫
首先導入驅動jar包,程序是
package test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class connectionMySql {
private static Connection connection;
static{
String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/purview";
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.print("載入驅動失敗");
e.printStackTrace();
}
try {
connection=DriverManager.getConnection(url, "root", "root");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getConnection() {
return connection;
}
public static void main(String [] args) {
Connection con=connectionMySql.getConnection();
if(!con.equals("")){
System.out.print("資料庫連接成功,連接id是:"+con);
}
}
}
『陸』 jdbc怎麼連接mysql資料庫
首先導入驅動jar包,程序是
package test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class connectionMySql {
private static Connection connection;
static{
String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/purview";
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.print("載入驅動失敗");
e.printStackTrace();
}
try {
connection=DriverManager.getConnection(url, "root", "root");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getConnection() {
return connection;
}
public static void main(String [] args) {
Connection con=connectionMySql.getConnection();
if(!con.equals("")){
System.out.print("資料庫連接成功,連接id是:"+con);
}
}
}
『柒』 jdbc遠程連接mysql
看看這個是否對你有幫助
遠程訪問MySQL
帳號不允許從遠程登陸,只要在localhost的那台電腦,登入mysql後,更改"mysql"資料庫里的"user"表裡的"host"項,從"localhost"改成"%"
解決方法:
1、改表法。【可以使用Navicat】
mysql -uroot -pvmwaremy
sql>use mysql;
mysql>updateuser set host = '%' where user = 'root';
mysql>select host, user fromuser;
mysql>FLUSH RIVILEGES
2、授權法。 你想myuser使用mypassword從任何主機連接到mysql伺服器的話。
GRANT ALLPRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
允許用戶myuser從ip為192.168.1.6的主機連接到mysql伺服器,並使用mypassword作為密碼
GRANT ALLPRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword'WITH GRANT OPTION;
如果以上方法還不能使遠程用戶訪問MySQL, 則需要修改windows 下的host 文件,增加遠程用戶IP地址
『捌』 怎麼用jdbc和mysql資料庫連接
StringdriverName="com.mysql.jdbc.Driver";//載入JDBC驅動
StringdbURL="jdbc:mysql://localhost:3306/test";//連接伺服器和資料庫test
StringuserName="sa";//默認用戶名
StringuserPwd="sa";//密碼
java.sql.ConnectiondbConn;
try{
Class.forName(driverName).newInstance();
dbConn=java.sql.DriverManager.getConnection(dbURL,userName,userPwd);
System.out.println("ConnectionSuccessful!");//如果連接成功控制台輸出ConnectionSuccessful!
}catch(ClassNotFoundExceptione){
System.out.println("沒有找到驅動");
}catch(Exceptione){
//TODO:handleexception
e.printStackTrace();
}
還是直接上代碼吧。