博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA 访问 MySQL 数据库问题
阅读量:4172 次
发布时间:2019-05-26

本文共 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/

你可能感兴趣的文章
题库分库分表架构方案
查看>>
一篇文读懂缓存在大型分布式系统中的最佳应用
查看>>
当亲戚问你工资,程序猿如何作答,简直不能再机智
查看>>
Redis从单机到集群,一步步教你环境部署以及使用
查看>>
电商平台备战促销季的运维秘诀——高可用服务层
查看>>
从零开始实现RPC框架 - RPC原理及实现
查看>>
MySQL索引优化分析
查看>>
RabbitMQ分布式集群架构
查看>>
MySQL每秒57万的写入,带你飞~
查看>>
Java系统高并发的解决方案
查看>>
学习分布式系统需要怎样的知识?
查看>>
一网打尽消息队列在大型分布式系统中的实战精髓
查看>>
阿里巴巴系统架构首次曝光
查看>>
从构建分布式秒杀系统聊聊限流特技
查看>>
Java设计模式——命令模式
查看>>
Java进阶架构师之如何画好架构图?阿里大神手把手教你!
查看>>
你绝对需要了解的Spring学习笔记
查看>>
一遍记住Java常用的八种排序算法与代码实现
查看>>
工作4年从美团、360、陌陌、百度、阿里、京东面试回来感想
查看>>
Netty序章之BIO NIO AIO演变
查看>>