h2 安装H2

Last updated on May 24, 2026 am

安装H2

# 卸载之前的java 安装java11
rpm -qa|grep java
yum remove -y java-1.8.0-openjdk-headless
yum install -y java-11-openjdk java-11-openjdk-devel unzip
java -version

# 下载h2
wget https://github.com/h2database/h2database/releases/download/version-2.4.240/h2-2025-09-22.zip

# 解压
unzip h2-2025-09-22.zip -d /opt

# 创建目录存储数据
mkdir -p /data/h2

# 启动命令授权
chmod +x /opt/h2/bin/h2.sh

# 编写初始化脚本
vim /root/init.sql

# 手动测试启动
# 默认端口号 web 8082 tcp 9092
java -cp /opt/h2/bin/h2-2.4.240.jar org.h2.tools.Server \
  -web \
  -webAllowOthers \
  -webPort 8888 \
  -webExternalNames 47.116.206.221 \
  -tcp \
  -tcpAllowOthers \
  -tcpPort 9999 \
  -tcpPassword "admin123" \
  -baseDir /data/h2 

# 初始化数据库
java -cp /opt/h2/bin/h2-2.4.240.jar org.h2.tools.Shell \
  -url "jdbc:h2:/data/h2/test_db" \
  -user sa \
  -password "admin123"

# 进入命令行
java -cp /opt/h2/bin/h2-2.4.240.jar org.h2.tools.Shell

# 测试访问
http://47.116.206.221:8888
jdbc:h2:tcp://47.116.206.221:9999/test_db
sa
admin123

# 关闭命令
java -cp /opt/h2/bin/h2-2.4.240.jar org.h2.tools.Server -tcpShutdown tcp://localhost:9999 -tcpPassword "admin123"

配置开启关闭命令

vim /etc/systemd/system/h2.service
[Unit]
Description=H2 Database Server
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/h2

ExecStart=/bin/bash -c '/usr/bin/java -cp /opt/h2/bin/h2-2.4.240.jar org.h2.tools.Server \
  -web \
  -webAllowOthers \
  -webPort 8888 \
  -webExternalNames 47.116.206.221 \
  -tcp \
  -tcpAllowOthers \
  -tcpPort 9999 \
  -tcpPassword "admin123" \
  -baseDir /data/h2 2>&1 | tee -a /opt/h2/logs/h2.log'

ExecStop=/usr/bin/java -cp /opt/h2/bin/h2-2.4.240.jar org.h2.tools.Server \
  -tcpShutdown tcp://localhost:9999 \
  -tcpPassword "admin123"

Restart=always
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
mkdir -p /opt/h2/logs/
systemctl daemon-reload
systemctl enable h2
systemctl start h2
systemctl status h2
systemctl stop h2
systemctl restart h2

日志归档

# 查看日志
journalctl -u h2
tail -f /opt/h2/logs/h2.log

# 配置日志归档
cat > /etc/logrotate.d/h2 <<'EOF'
/opt/h2/logs/h2.log {
    daily
    rotate 15
    missingok
    notifempty
    copytruncate
    compress
    delaycompress
    dateext
    dateformat -%Y%m%d
    create 0644 root root
}
EOF

# 测试配置是否正确
logrotate -d /etc/logrotate.d/h2

# 手动强制执行
logrotate -f /etc/logrotate.d/h2

# 查看备份记录
cat /var/lib/logrotate/logrotate.status | grep h2

数据备份

systemctl stop h2
zip -r /root/h2_data.zip /data/h2

数据迁移

scp root@47.116.206.221:/root/h2_data.zip ./
cd /Users/ispong/Downloads 
unzip h2_data.zip

# 使用本地工具连接,驱动保持一致  
# 上传驱动 h2-2.4.240.jar
jdbc:h2:file:/Users/ispong/Downloads/data/h2/test_db;AUTO_SERVER=TRUE
sa
admin123

h2 安装H2
https://ispong.isxcode.com/db/h2/h2 安装H2/
Author
ispong
Posted on
May 24, 2026
Licensed under