window下的java程序连接linux系统的mysql数据库
来源:互联网 发布:c语言实训步骤怎么写 编辑:程序博客网 时间:2024/06/17 02:44
实现的功能:window下连接linux的mysql数据库
准备的环境:
windows:1.已经编写好的连接数据库的java测试程序:
package com.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;/*** ResultSet结果集的基本用法(executeQuery()将会返回ResultSet结果集)* @author zanzan**/public class Demo2 {public static void main(String[] args){Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;try {Class.forName("com.mysql.jdbc.Driver");long start = System.currentTimeMillis();conn = DriverManager.getConnection("jdbc:mysql://与linux的ip映射的域名:映射的端口号/数据库名称", "mysql数据库登陆名", "密码");System.out.println(conn);//进行数据库的查询String sql = "select id,name from test where id>?";//?表示占位符//建立PraparedStatemen对象进行SQL静态语句的操作,同时返回PraparedStatememnt对象,导入PraparedStatement包ps = conn.prepareStatement(sql);ps.setObject(1, 0);rs = ps.executeQuery();//将结果集进行遍历while(rs.next()){System.out.println(rs.getInt(1)+"---"+rs.getString(2));}long end = System.currentTimeMillis();System.out.println("建立与数据库的连接所需要的时间"+(end-start)+"ms");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{//关闭顺序是按照先开后关的原则if(rs!=null){try {rs.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if(ps!=null){try {ps.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if(conn!=null){try {conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}}
2.由于是linux是在内网,我使用花生壳将内网的ip映射到域名上,外网通过访问域名和对应映射的端口号
3.navicat for mysql测试linux数据库的连接是否成功
linux:
1.vmware下安装centos6.4
2.通目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面
rpm -qa | grep mysql // 这个命令就会查看该操作系统上是否已经安装了mysql数据库
rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
yum list | grep mysql //查看数据库
yum install -y mysql-server mysql mysql-deve//通过yum方式安装mysql数据
通过yum安装数据库可以省去很多麻烦
3.用ifconfig得到linux的ip
[root@localhost 桌面]# ifconfigeth0 Link encap:Ethernet HWaddr 00:0C:29:88:CD:97inet addr:<span style="background-color: rgb(255, 0, 0);">192.168.0.116</span> Bcast:192.168.0.255 Mask:255.255.255.0inet6 addr: fe80::20c:29ff:fe88:cd97/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:4281 errors:0 dropped:0 overruns:0 frame:0TX packets:2053 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:3985317 (3.8 MiB) TX bytes:160402 (156.6 KiB)
用navicat测试:
1出现 2003-Can’t connect to MySQL on ’192.168.1.2’(10061);
原因:MySQL不准许远程连接。
解决方案:
1)在服务端MySQL文件夹下找到my.ini文件。修改bind-address=127.0.0.1 为 bind-address=0.0.0.0 ;(在MySQL 5的my.ini中未发现此项,则试着添加)
2)重新启动MySQL服务。(service mysqld restart)
2.出现“1045-Access denied for user root@IT(using password:NO)”
原因:没有给远程登录用户添加所有机器都能访问的权限
解决方案:
添加命令如下:
1)grant all on *.* to 用户名@"%" identified by "密码";
2)flush privileges.
其中:
*.*表示赋予用户操作服务器上所有数据库所有表的权限;
用户名可以是localhost,这里我填写root;
’%'表示从任何地址连接,这里我填写映射的域名.
下面是连接结果:
mysql创建的测试表:
eclipse下运行java测试程序:
通过以上的方法,实现了在window下访问linux的mysql数据库,连接的时间比较长
- window下的java程序连接linux系统的mysql数据库
- Linux系统下java连接MySQL数据库,MySQL安装
- window下使用Navicat远程连接linux下的mysql
- Java连接mysql数据库的程序
- window下连接linux虚拟机里面的mysql连不上
- window下连接ubuntu mysql的问题
- jdbc 连接window下的mysql
- Linux系统Java连接Mysql数据库
- Linux系统Java连接Mysql数据库
- Linux系统Java连接Mysql数据库
- Linux系统Java连接Mysql数据库
- Java程序调用系统命令进行mysql数据库的备份与还原,windows下mysql备份
- Linux系统下 解决Qt5无法连接MySQL数据库的方法
- Eclipse下用Java连接MYSQL 数据库的连接步骤
- Linux下Java连接MySql数据库
- liunx 系统下mysql数据库的jdbc连接使用
- window 下修改mysql 数据库的密码
- Java 在Window及Linux下备份MySQL数据库
- 光于增采样和减采样(一)
- Hibernate Mysql 逆向工程,外键映射
- 数据库 SQL 2005 知识点二
- 使用单例模式getInstance() 有什么好处
- hdu4217(求区间k小)
- window下的java程序连接linux系统的mysql数据库
- 麦肯锡解决问题七步法
- Effective c++学习笔记四
- zoj-K - Known Notation
- HDU 1250 Hat's Fibonacci(高精度)
- C#学习日记05---数据类型 之 布尔类型
- 【C++】c++日期类Date
- JSP/Servlet 工作原理
- 字典学习方法—K-SVD