www1350 / javaweb

http://www1350.github.io/
31 stars 5 forks source link

h2数据库 #41

Open www1350 opened 8 years ago

www1350 commented 8 years ago

H2内存数据库的安装和维护 http://wenku.baidu.com/link?url=kZ8Tll42ZeZvRVzsbcUyGDe3q8UKc76h162iP-wYO8lSGSqKAfu18xKz4HqG4VLQy6QobsKzDxCD81Q-uuUY2wHdN0ThzSt35Mj2cExgupS 1.安装文件 http://www.h2database.com/html/download.html 安装文件:h2-2014-04-05.zip 2.安装步骤 1)远程连接Linux服务器,进入该目录/usr/local/h2 2)上传安装文件至h2目录下;(可自行设定安装目录) 3)解压该安装文件: [root@localhost h2]# unzip h2-2014-04-05.zip 4)解压成功后,需要修改两个文件h2.sh和build.sh的JAVA_HOME路径; a、获取当前JAVA_HOME的路径 [root@localhost h2]# echo $JAVA_HOME /usr/java/jdk1.6.0_45 b、h2.sh文件在h2/bin目录下;

[root@localhost h2]# cd h2/bin/
[root@localhost bin]# ls
h2-1.3.176.jar  h2.bat  h2.sh  h2w.bat

c、编辑h2.sh [root@localhost bin]# vim h2.sh

#!/bin/sh
dir=$(dirname "$0")
java -cp "$dir/h2-1.3.176.jar:$H2DRIVERS:$CLASSPATH" org.h2.tools.Server -tcpAllowOthers  -webAllowOthers  -webPort  8090  "$@"

org.h2.tools.Server: 以服务器模式启动 -tcpAllowOthers: 允许远程机器通过TCP方式访问 -webAllowOthers: 允许远程机器通过浏览器访问 -webPort 8090: 默认的访问端口(8090为未被占用的端口,如果此端口已经被其他端口占用,则改为其他端口)

[root@localhost bin]# chmod 777 h2.sh 启动h2服务,命令:nohup ./h2.sh &

通过远程浏览器来访问h2是否部署成功
访问地址:http://服务器ip:8090/

 Jdbc:h2:tcp://服务器ip/test:  test是数据库文件的名称,不用指定test文件路径,是因为之前c、配置h2.sh已经指定默认路径了(/home/omp_nms/h2/bin/) 
 User name : sa   h2默认的用户,密码为空 
 点击如图connect按钮,NMS数据库文件自动生成到/home/omp_nms/h2/bin 目录下:NMS.h2.db 

说明:目前项目用的数据库名为:NMS,用户名:sa,密码:nms,所以使用H2数据库时,按此要求进行创建。 3、维护 1)进入远程服务器,查看h2的服务是否还在 执行命令:ps -ef |grep h2.sh,如图说明h2服务正常运行 [root@localhost bin]# ps -ef | grep h2.sh root 27220 3387 0 09:54 pts/0 00:00:00 /bin/sh ./h2.sh root 27316 3387 0 10:06 pts/0 00:00:00 grep h2.sh 2)通过远程浏览器访问h2数据库 访问地址:http://服务器ip:8090/ 出现如下页面,user name输入:_,password输入:_,最顶部下拉框可以选择显示语言,并点击test connection会出现test successful说明h2正常工作,

如上图所示,点击Connect按钮,即可进入H2数据库,进行表的相关操作;(脚本内容执行后,在下图左侧可以看到创建的库表)

3)如何修改用户密码 要修改密码,需要登录进去后用sql语句进行修改,如下语句,登录NMS数据库后将sa用户的密码修改为nms ALTER USER sa SET { PASSWORD 'nms' } 4)创建数据库和表 当H2数据库安装成功并启动成功后,访问地址:http://服务器ip:8090/,会出现如下图

创建数据库 如上图,将JDBC URL: jdbc:h2:~/test,最后的test修改为NMS,然后username为sa,password为nms(注:如果是第一次创建数据库时,输入的密码为nms,则之后每次登陆都要用此密码),点击connect按钮,就可以进入到NMS数据库后台,如下图(下图左侧在实际登录后是没有库表的,需要执行我们提供的建表脚本后才有)

创建表
打开nmsH2_createTable.sql脚本,将里面的全部内容复制到上图SQL语句区域,点击“Run”,即可成功创建表。 另外,也可以在SQL语句区域手工输入创建表语句进行表创建。不支持可视化创建表

5)数据库连接 URL说明 数据库支持多种连接模式和连接设置,不同的连接模式和连接设置是通过不同的URL来区分的,URL中的设置是不区分大小写。 Topic URL Format and Examples 嵌入式(本地)连接 jdbc:h2:[file:][]

    jdbc:h2:~/test  
    jdbc:h2:file:/data/sample   
    jdbc:h2:file:C:/data/sample (Windows only)  

内存数据库(私有) jdbc:h2:mem:
内存数据库(被命名) jdbc:h2:mem:
jdbc:h2:mem:test_mem
使用TCP/IP的服务器模式(远程连接) jdbc:h2:tcp://[:]/[]

    jdbc:h2:tcp://localhost/~/test  
    jdbc:h2:tcp://dbserv:8084/~/sample  

使用SSL/TLS的服务器模式(远程连接) jdbc:h2:ssl://[:]/
jdbc:h2:ssl://secureserv:8085/~/sample; 使用加密文件 jdbc:h2:;CIPHER=[AES|XTEA] jdbc:h2:ssl://secureserv/~/testdb;CIPHER=AES
jdbc:h2:file:~/secure;CIPHER=XTEA
文件锁 jdbc:h2:;FILE_LOCK={NO|FILE|SOCKET}
jdbc:h2:file:~/quickAndDirty;FILE_LOCK=NO
jdbc:h2:file:~/private;CIPHER=XTEA;FILE_LOCK=SOCKET 仅打开存在的数据库 jdbc:h2:;IFEXISTS=TRUE jdbc:h2:file:~/sample;IFEXISTS=TRUE 当虚拟机退出时并不关闭数据库 jdbc:h2:;DB_CLOSE_ON_EXIT=FALSE
用户名和密码 jdbc:h2:[;USER=][;PASSWORD=]
jdbc:h2:file:~/sample;USER=sa;PASSWORD=123
更新记入索引 jdbc:h2:;LOG=2 jdbc:h2:file:~/sample;LOG=2 调试跟踪项设置 jdbc:h2:;TRACE_LEVEL_FILE=<level 0..3> jdbc:h2:file:~/sample;TRACE_LEVEL_FILE=3
忽略位置参数设置 jdbc:h2:;IGNORE_UNKNOWN_SETTINGS=TRUE
指定文件读写模式 jdbc:h2:;ACCESS_MODE_LOG=rws;ACCESS_MODE_DATA=rws
在Zip文件中的数据库 jdbc:h2:zip:!/
jdbc:h2:zip:~/db.zip!/test
兼容模式 jdbc:h2:;MODE=
jdbc:h2:~/test;MODE=MYSQL
自动重连接 jdbc:h2:;AUTO_RECONNECT=TRUE
jdbc:h2:tcp://localhost/~/test;AUTO_RECONNECT=TRUE
自动混合模式 jdbc:h2:;AUTO_SERVER=TRUE
jdbc:h2:~/test;AUTO_SERVER=TRUE 更改其他设置 jdbc:h2:;=[;=...]
jdbc:h2:file:~/sample;TRACE_LEVEL_SYSTEM_OUT=3