java 远程mysql数据库_java远程访问mysql数据库

java编程实现mysql数据库远程连接的简单示例

本文包括两部分:

一、设置mysql可以远程访问

二、java编程实现远程数据库连接

一、设置mysql可以远程访问

环境参数:

MySQL Server 5.0

数据库:javadb

用户名:javadbuser

密码:javadbpwd

目标:

使用用户'javadbuser'可以远程访问数据库'javadb'

以下步骤尽量在命令行完成,在phpMyAdmin进行用户赋权有时不起作用。

//进入mysql/bin目录

C:\>cd C:\Program Files\MySQL\MySQL Server 5.0\bin

//使用root登录mysql

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -u root -p

Enter password: ************

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 29 to server version: 5.0.22-community-nt

//对数据库'mysql'进行操作

mysql> use mysql

Database changed

//查询user表信息

mysql> select user,host from user;

+------------+-----------+

| user       | host      |

+------------+-----------+

| javadbuser | localhost |

| root       | localhost |

+------------+-----------+

2 rows in set (0.00 sec)

//更改用户'javadbuser'可以登录的host值为任意主机'%'

mysql> update user set host='%' where user='javadbuser';

mysql> flush privileges;

//再次查询user表信息,javadbuser的host值已改为'%'(任意主机)

mysql> select user,host from user;

+------------+-----------+

| user       | host      |

+------------+-----------+

| javadbuser | %         |

| root       | localhost |

+------------+-----------+

2 rows in set (0.00 sec)

//授权用户'javadbuser'和密码'javadbpwd'在任意主机都可以连接到数据库'javadb'

//数据库'javadb'、用户'javadbuser'和密码'javadbpwd'都已事先建好

//mysql命令不区分大小写

mysql> GRANT ALL PRIVILEGES ON  `javadb`.* TO  'javadbuser'@'%' IDENTIFIED BY 'javadbpwd'  WITH GRANT OPTION ;

mysql> flush privileges;

//使用php程序检测是否可以远程连接数据库'javadb'

/*

先在数据库'javadb'建张表'atb'

//字段:

id,int(12)

info,varchar(20)

//记录:

id info

1  OK

2  OKK

*/

//conn.php

mysql_connect("192.168.1.2:3306", "javadbuser", "javadbpwd") or

die("Could not connect: " . mysql_error());

mysql_select_db("javadb");

$result = mysql_query("SELECT id,info FROM atb");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

printf ("ID: %s Info: %s
", $row["id"], $row["info"]);

}

mysql_free_result($result);?>

/*正常连接后显示的结果:

ID: 1 Info: OK

ID: 2 Info: OKK

*/

以上过程说明使用用户"javadbuser"远程连接mysql数据库'javadb'已经成功,可以在java客户端上进行测试了。

二、java编程实现远程数据库连接

import java.sql.*;

public class BaseMySQL {

public static void main(String []arg){

String driver = "com.mysql.jdbc.Driver";

String url = "jdbc:MySQL://192.168.1.2:3306/javadb";

String username = "javadbuser";

String password = "javadbpwd";

try{

Class.forName(driver);

Connection conn = DriverManager.getConnection(url,username,password);

Statement statement = conn.createStatement();

String sql = "select * from atb ";

System.out.println("######################");

//获取数据

ResultSet rs = statement.executeQuery(sql);

while(rs.next()){

System.out.println(rs.getString("id")+"\t"+rs.getString("info"));

}

//关闭连接

rs.close();

conn.close();

}catch(ClassNotFoundException e){

System.out.println("数据库驱动未找到");

e.printStackTrace();

}catch(SQLException e){

e.printStackTrace();

}catch(Exception e){

e.printStackTrace();

}

}

}/*运行结果: ###################### 1 OK 2 OKK */ ycjnx,2014-9-8(完)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值