H2 数据库官网:http://h2database.com
安装 Java 环境
从官网下载 jdk8 tar 包,此处略。
安装 jdk8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15# 创建 Java 安装目录
mkdir -p /usr/local/java
# 解压 tar 包到安装目录
tar zxvf jdk-8u202-linux-x64.tar.gz -C /usr/local/java
# 配置 Java 环境变量
cat > /etc/profile.d/java.sh <<EOF
#!/bin/bash
# Java ENV Config
export JAVA_HOME=/usr/local/java/jdk1.8.0_202
export CLASSPATH=\$CLASSPATH:\$JAVA_HOME/lib:\$JAVA_HOME/jre/lib
export PATH=\$JAVA_HOME/bin:\$JAVA_HOME/jre/bin:\$PATH:\$HOME/bin
EOF检查 Java 环境
1
2
3
4[root@h2database bin]# java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
安装 H2 数据库
从官网下载 H2 的安装包
1
wget https://h2database.com/h2-2019-10-14.zip
解压 H2 压缩包并移动到 /usr/local 目录
1
unzip h2-2019-10-14.zip && mv h2 /usr/local/
创建新数据库,默认情况下,不允许从TCP连接或Web界面远程创建数据库。出于安全原因,不建议启用数据库的远程创建。创建新数据库的用户将成为其管理员,因此与H2拥有对JVM的相同访问权限,与Java和系统帐户允许的对操作系统的访问权限相同。建议使用嵌入式URL,本地H2控制台或Shell工具在本地创建所有数据库。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29# 进入 h2 数据库的 bin 目录
cd /usr/local/h2/bin
# 执行如下命令
java -cp h2-1.4.200.jar org.h2.tools.Shell
# 如下,根据提示,创建数据库
Welcome to H2 Shell 1.4.200 (2019-10-14)
Exit with Ctrl+C
[Enter] jdbc:h2:~/test
URL jdbc:h2:/data/h2data
[Enter] org.h2.Driver
Driver
[Enter]
User sa
Password
Type the same password again to confirm database creation.
Password
Connected
Commands are case insensitive; SQL statements end with ';'
help or ? Display this help
list Toggle result list / stack trace mode
maxwidth Set maximum column width (default is 100)
autocommit Enable or disable autocommit
history Show the last 20 statements
quit or exit Close the connection and exit
sql> quit
Connection closed启动 H2 数据库
1
2
3[root@h2database bin]# java -cp h2-1.4.200.jar org.h2.tools.Server -web -webAllowOthers -tcp -tcpAllowOthers &
TCP server running at tcp://192.168.64.13:9092 (others can connect)
Web Console server running at http://192.168.64.13:8082 (others can connect)打开浏览器,访问
http://192.168.64.13:8082
登录 H2 数据库 Web 段配置 H2 数据库开机启动
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37# 创建 h2server.sh 文件
[root@knowledge bin]# cat h2server.sh
#!/bin/bash
cd /usr/local/h2/bin/
export H2_HOME=/usr/local/h2
. /etc/profile.d/java.sh
nohup java -cp "$H2_HOME/bin/h2-1.4.200.jar:$H2DRIVERS:$CLASSPATH" \
org.h2.tools.Server \
-tcp -web -tcpAllowOthers \
-tcpPort 9092 -webAllowOthers \
-webPort 19200 >> /usr/local/h2/logs/h2Server.log 2>&1 &
# 添加执行权限
[root@knowledge ~]# chmod +x /usr/local/h2/bin/h2server.sh
# 创建 h2.service 文件
[root@knowledge ~]# cat /usr/lib/systemd/system/h2.service
[Unit]
Description=H2 Database Service
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/h2/bin/h2server.sh
ExecStop=/bin/kill -s QUIT $MAINPID
[Install]
WantedBy=multi-user.target
# 重载服务
systemctl daemon-reload
# 配置开机启动
systemctl enable --now h2.service
H2 数据库备份与还原
备份数据库
1
2# cd /usr/local/h2/bin
java -cp h2-1.4.200.jar org.h2.tools.Script -url jdbc:h2:/data/h2data -user sa -password 'xxxxxx' -script test.zip -options compression zip还原数据库
1
2# cd /usr/local/h2/bin
java -cp h2-1.4.200.jar org.h2.tools.RunScript -url jdbc:h2:/data/h2data/knowledge -user sa -password 'xxxxxx' -script test.zip -options compression zip