window下的java程序连接linux系统的mysql数据库
2015-10-03 14:47
891 查看
实现的功能:window下连接linux的mysql数据库
准备的环境:
windows:1.已经编写好的连接数据库的java测试程序:
2.由于是linux是在内网,我使用花生壳将内网的ip映射到域名上,外网通过访问域名和对应映射的端口号
![](http://www.zanzan.win/wp-content/uploads/2015/10/20151002155501-300x150.png)
3.navicat for mysql测试linux数据库的连接是否成功
![](http://www.zanzan.win/wp-content/uploads/2015/10/20151002160854-288x300.png)
linux:
1.vmware下安装centos6.4
2.通目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面
通过yum安装数据库可以省去很多麻烦
3.用ifconfig得到linux的ip
用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;
’%'表示从任何地址连接,这里我填写映射的域名.
![](http://www.zanzan.win/wp-content/uploads/2015/10/20151002162813-300x234.png)
下面是连接结果:
mysql创建的测试表:
![](http://www.zanzan.win/wp-content/uploads/2015/10/3123.png)
eclipse下运行java测试程序:
![](http://www.zanzan.win/wp-content/uploads/2015/10/6564cd-300x66.png)
通过以上的方法,实现了在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 block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ //关闭顺序是按照先开后关的原则 if(rs!=null){ try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(ps!=null){ try { ps.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(conn!=null){ try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
2.由于是linux是在内网,我使用花生壳将内网的ip映射到域名上,外网通过访问域名和对应映射的端口号
![](http://www.zanzan.win/wp-content/uploads/2015/10/20151002155501-300x150.png)
3.navicat for mysql测试linux数据库的连接是否成功
![](http://www.zanzan.win/wp-content/uploads/2015/10/20151002160854-288x300.png)
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 桌面]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:88:CD:97 inet addr:<span style="background-color: rgb(255, 0, 0);">192.168.0.116</span> Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe88:cd97/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4281 errors:0 dropped:0 overruns:0 frame:0 TX packets:2053 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX 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;
’%'表示从任何地址连接,这里我填写映射的域名.
![](http://www.zanzan.win/wp-content/uploads/2015/10/20151002162813-300x234.png)
下面是连接结果:
mysql创建的测试表:
![](http://www.zanzan.win/wp-content/uploads/2015/10/3123.png)
eclipse下运行java测试程序:
![](http://www.zanzan.win/wp-content/uploads/2015/10/6564cd-300x66.png)
通过以上的方法,实现了在window下访问linux的mysql数据库,连接的时间比较长
相关文章推荐
- 如何查看Linux的磁盘空间还有多少
- Linux用户及用户组管理
- Linux 命令 - history: 显示或操作历史列表
- linux grep命令详解
- linux sed 命令详解
- Linux内存管理
- linux 局域网探测工具nmap
- CentOS 7 yum安装路径查询方法
- linux进程管理工具
- 【Linux导论】图形接口(Graphical Interface)
- linux中echo的一些疑惑解答
- Linux命令行学习笔记
- 菜鸟的Linux历程-vi编辑器使用
- Linux 命令 - echo: 显示一行文本
- linux 命令
- Linux - 引用
- linux ssh 免密码登陆
- linux下VNC的配置及使用
- CentOS6.5设备MRBS
- Linux中的查看已挂载的文件系统命令