JAVA 访问 MySQL 数据库问题

本文介绍如何在Ubuntu Linux系统中安装配置MySQL,并实现Java应用程序通过网络远程访问MySQL数据库的方法。内容涵盖MySQL安装步骤、配置绑定IP地址、添加远程访问用户及Java代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

   其实之前说过 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 地址。

 

  •    添加用户。

   进入控制台,按如下操作:

 

  1.  
    1. mysql -uroot -proot mysql
    2. show tables;
    3. select * from user;
    4. grant all privileges on db.* to leidiqiu@'%' identified by '888888';
    5. flush privileges;
    6. select * from user;
    7. exit;
    8. /etc/init.d/mysql restart

 

      解释

 

  1.  
    1. 进入 mysql ,用户为 root,密码为 root,数据库为 mysql(后者),-u 意为用户,-p 意为密码,数据库 mysql 保存着一些数据库相关的表,如表 user 保存着一些用户信息。
    2. 显示 mysql 数据库的所有表,记得后面有个 ; 号。
    3. 显示表 user 的信息。
    4. 增加用户 leidiqiu ,所有权限,数据库为 db ,后面的 .* 不可少,% 代表对所有远程的 IP 地址,如果要限定 IP 地址的话,单独写上 IP 地址,密码是 888888,注意引号 ' 不可少,用来表示是字符串。
    5. 使设置生效。
    6. 查看表 user,看是否添加上了。
    7. 退出 MySQL。
    8. 重启 MySQL 服务器。

 

 

远程的JAVA代码

  • 下载支持MySQL的jar包 mysql-connector-java-5.0.8-bin.jar ,放在工程目录下。
  • 之前配置的 MySQL 中,已经有一个数据库 db,其中有一个表 student。

 

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 路径和当前路径 .  ,别忘那个点。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值