本文共 2885 字,大约阅读时间需要 9 分钟。
其实之前说过 JAVA 代码访问数据库的问题,这里再重新说明一下访问 MySQL 的问题。 资源有限,所以在 Windows XP 下利用 VM 搭建了一个 Unbuntu 的 Linux 系统,比较邪门的是,同样的方法装了三次,唯独这台机器就是无法通过 Network 访问 Windows 的共享文件夹,不过不管它,回到正题。安装 MySQL 很简单,控制台下输入: apt-get install mysql-server 安装过程中,会提示输入用户名和密码,用于数据库的管理。这里输入用户名 root ,密码 root 。 MySQL 的配置 绑定IP地址。 找到 /etc/mysql/my.cnf 配置文件,将 bind-address=127.0.0.1 改为 bind-address=192.168.72.130,其中 192.168.72.130 为本机的 IP 地址,意思是将 MySQL 绑定到此 IP 地址,修改后在本机试验时,显示无法访问,因为在配置文件 /etc/hosts 中,localhost 对应的 IP 地址为 127.0.0.1,而 MySQL 已经绑定到了 192.168.72.130 这个 IP 地址。 添加用户。 进入控制台,按如下操作: mysql -uroot -proot mysql show tables; select * from user; grant all privileges on db.* to leidiqiu@'%' identified by '888888'; flush privileges; select * from user; exit; /etc/init.d/mysql restart 解释 进入 mysql ,用户为 root,密码为 root,数据库为 mysql(后者),-u 意为用户,-p 意为密码,数据库 mysql 保存着一些数据库相关的表,如表 user 保存着一些用户信息。 显示 mysql 数据库的所有表,记得后面有个 ; 号。 显示表 user 的信息。 增加用户 leidiqiu ,所有权限,数据库为 db ,后面的 .* 不可少,% 代表对所有远程的 IP 地址,如果要限定 IP 地址的话,单独写上 IP 地址,密码是 888888,注意引号 ' 不可少,用来表示是字符串。 使设置生效。 查看表 user,看是否添加上了。 退出 MySQL。 重启 MySQL 服务器。 远程的JAVA代码 下载支持MySQL的jar包 mysql-connector-java-5.0.8-bin.jar ,放在工程目录下。 之前配置的 MySQL 中,已经有一个数据库 db,其中有一个表 student。 Java代码 package com.ldq; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Test05 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { Class.forName("com.mysql.jdbc.Driver"); String sql = "SELECT * FROM student"; Connection con = DriverManager .getConnection("jdbc:mysql://192.168.72.130:3306/db", "leidiqiu", "888888"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { System.out .println(rs.getInt("id") + " " + rs.getString("name")); } rs.close(); stmt.close(); con.close(); } catch (Exception e) { e.printStackTrace(); // TODO: handle exception } } } package com.ldq; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Test05 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { Class.forName("com.mysql.jdbc.Driver"); String sql = "SELECT * FROM student"; Connection con = DriverManager .getConnection("jdbc:mysql://192.168.72.130:3306/db", "leidiqiu", "888888"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { System.out .println(rs.getInt("id") + " " + rs.getString("name")); } rs.close(); stmt.close(); con.close(); } catch (Exception e) { e.printStackTrace(); // TODO: handle exception } } } 输出结果: 1001 zhang 1002 wang 注: 如果是在本机试验,应使用: DriverManager.getConnection("jdbc:mysql://192.168.72.130:3306/db", "leidiqiu", "888888"); 进入到工程目录,控制台命令: javac Test05.java java -cp mysql-connector-java-5.0.8-bin.jar:. Test05 -cp 意思是指定类的路径。 : 用于分隔 jar 路径和当前路径 . ,别忘那个点。转载地址:http://tgbai.baihongyu.com/