Ubuntu下Java程序如何连接MySQL数据库?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu下Java程序如何连接MySQL数据库?相关的知识,希望对你有一定的参考价值。

linux ubuntu下用C连mysql接数据mysql数据库的步骤如下:
1.安装mysql-server,在Ubuntu10.04下安装mysql-server-5.1,会自动安装mysql-client_5.1
sudo apt-get install mysql-server-5.1
2.C APIs包含在mysqlclient库文件中与MySQL的源代码一块发行,用于连接到数据库和执行数据库查询,因此需要安装libmysqlclient-dev
sudo apt-get install libmysqlclient-dev
假定已安装成功,相关文件如下:
头文件在/usr/include/mysql目录下;
库文件在/usr/lib/mysql和/usr/lib目录下
3.启动和关闭mysql
启动mysql:sudo start mysql
关闭mysql:sudo stop mysql
使用ps aux |grep mysql 查看mysql启动状态
ps命令用于查看当前系统中运行的进程信息,命令格式:ps [选项]
常见参数:
-a 显示系统中所有进程,包括其他用户进程
-e 显示所有进程信息
-f 显示进程的所有信息
-l 显示长格式显示进程的信息
-r 只显示正在运行的程序
-u 以用户的格式显示进程信息
-x 显示所有终端上的进程信息
最常用的方法是ps aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。例如前面使用的ps aux |grep mysql
4.链接库时需要库文件,有静态库文件,也有动态库文件,也有名字相同的静态库文件和动态库文件,如何区分:
.o,.a,.so,.lo,.la后缀文件含义
.o: 编译的目标文件
.a: 静态库,其实就是把若干o文件打了个包
.so: 动态链接库(共享库)
.lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息
.la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息
la只有在用libtool编译应用程序或库时才用,即开发者只指明la文件,至于最终链接a还是so由libtool决定,不使用libtool的小程序用不上la。
5.连接MySql
a、连接到本机上的MYSQL:   
首先打开终端窗口,再键入命令mysql -u root -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入
到MYSQL中了,MYSQL的提示符是:mysql>   
b.修改密码,格式:mysqladmin -u用户名 -p旧密码 password 新密码   
例1:给root加个密码ab12。首先打开终端窗口,然后键入以下命令:mysqladmin -uroot password ab12.(注:因为开始时root没有密码,所以-p旧密码一项就可以省略了)。   
例2:再将root的密码改为djg345。   mysqladmin -uroot -pab12 password djg345 (注:u与root可以不用加空格,其它也一样)。
c、退出MYSQL命令: exit
6.增加新用户(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)   
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"   
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。
首先用以root用户连入MYSQL,然后键入以下命令:grant select,insert,update,delete privileges on *.* to "test1"@"%" Identified by "abc" with grant option; 但例1增加的用户是十分危险的,
你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。   
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),
这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。   
grant select,insert,update,delete on mydb.* to test2@localhost identified by “abc”;如果你不想test2有密码,可再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by “”;
例3、远程登录:
a、默认情况下Mysql只允许本地登录,所以需要修改配置文件将地址绑定给注释掉:
vi /etc/mysql/my.cnf

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1 <---注释掉这一行就可以远程登录了

b、允许远程登录后,还应设置远程登录权限:
mysql>grant all privileges on *.* to "root"@"%" identified by "123456" with grant option;
c、使修改生效:
mysql> flush privileges;
d、在另一台机器上远程登录(mysql所在机器地址:192.168.0.30):
mysql -h192.168.0.30 -uroot -p123456
e、如果仍不能登录,就把远程mysql关闭,之后重启
sudo stop mysql
sudo start mysql
7.显示命令:(注:下面来看看MYSQL中有关数据库方面的操作。注意:必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束)。
a、显示数据库列表:show databases; 刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。   
b、显示库中的数据表:use mysql; show tables;   
c、显示数据表的结构:describe 表名;   
d、建库: create database 库名;   
e、建表: use 库名; create table 表名 (字段设定列表);   
f、删库和删表: drop database 库名; drop table 表名;   
g、将表中记录清空:delete from 表名;   
h、显示表中的记录:select * from 表名;
参考技术A java连接数据库主要使用的JDBC驱动,基本和系统无关,
首先从Mysql官网上现在mysql的jdbc驱动包(jar),然后添加到classpath中,如果使用的ide也可以添加到buildpath中
然后就是jdbc的连接流程了:
1.注册驱动
2.写url
3.连接,生成Connection对象
4.生成Statement,执行sql语句

如何用java打印mysql数据库

     应该是连接数据库吧,这是连接数据库的步骤:    

    在开发环境中加载指定数据库的驱动程序。

  接下来的实验中,使用数据库MySQL,所以需要下载MySQL支持JDBC的驱动程序(mysql-connector-java-5.1.18-bin.jar)。

  

  2. 开发环境是MyEclipse,将下载得到的驱动程序加载进开发环境中。

  

  3. 在Java程序中加载驱动程序。

  

  在Java程序中,通过 “Class.forName(“指定数据库的驱动程序”)”

  

  方式来加载添加到开发环境中的驱动程序,例如Class.forName(“com.mysql.jdbc.Driver”)。

  

  4. 创建数据连接对象:通过DriverManager类创建数据库连接对象Connection。

  

  DriverManager类作用于Java程序和JDBC驱动程序之间,用于检查所加载的驱动程序是否可以建立连接,然后通过它的getConnection方法,根据数据库的URL、用户名和密码,创建一个JDBC

  

  Connection 对象。代码如:Connection connection =  DriverManager.getConnection(“连接数据库的URL", "用户名",

  

  "密码”)。

  

  其中,URL=协议名+IP地址(域名)+端口+数据库名称;用户名和密码是指登录数据库时所使用的用户名和密码。具体示例创建MySQL的数据库连接代码如下:

  

  Connection connectMySQL  =

  

  DriverManager.geiConnection(“jdbc:mysql://localhost:3306/myuser","root"

  

  ,"root" );

  

  5. 创建Statement对象:Statement 类的主要是用于执行静态 SQL

  

  语句并返回它所生成结果的对象。

  

  通过Connection 对象的 createStatement()方法可以创建一个Statement对象。例如:Statement statament =

  

  connection.createStatement(); 具体示例创建Statement对象代码如下:Statement statamentMySQL =connectMySQL.createStatement();

  

  6. 调用Statement对象的相关方法执行相对应的 SQL

  

  语句:通过execuUpdate()方法用来数据的更新,包括插入和删除等操作,例如向staff表中插入一条数据的代码:

  

  statement.excuteUpdate( "INSERT INTO

  

  staff(name, age, sex,address, depart, worklen,wage)" + " VALUES ('Tom1', 321,

  

  'M', 'china','Personnel','3','3000' ) ") ;

  

  7. 通过调用Statement对象的executeQuery()方法进行数据的查询,而查询结果会得到

  

  ResulSet对象,ResulSet表示执行查询数据库后返回的数据的集合,ResulSet对象具有可以指向当前数据行的指针。通过该对象的next()方法,使得指针指向下一行,然后将数据以列号或者字段名取出。如果当next()方法返回null,则表示下一行中没有数据存在。使用示例代码如下:

  

  ResultSet resultSel =

  

  statement.executeQuery( "select * from staff" );

  

  8. 关闭数据库连接:使用完数据库或者不需要访问数据库时,通过Connection的close() 方法及时关闭数据连接。

参考技术A 打印数据库是什么意思啊?

以上是关于Ubuntu下Java程序如何连接MySQL数据库?的主要内容,如果未能解决你的问题,请参考以下文章

无法从android中的远程ubuntu tomcat服务器连接mysql数据库

window系统下的pycharm对虚拟机中的Ubuntu系统操作MySQL数据库

本人初学java,学到JDBC那块需要连接Mysql数据库但是不知道如何配置mysql驱动程序?求帮忙配置一下。

如何将 MySQL 连接到 Java 程序

ubuntu18安装MySQL5.7和可视化Navicat,intellIj IDEA配置JDBC连接Java的jar包

ubuntu下C++连接mysql数据库