从传统 MySQL 数据库迁移可能非常耗时且占用大量资源。迁移数据库时,您可以使用 HMT(https://github.com/HaloLab001/hmt-web 年 HaloLab 也开放的开源迁移工具)自动迁移数据库架构和数据,但迁移应用程序本身通常需要做更多的工作,包括重新编写与数据库交互的应用程序代码。
openHalo 为 PostgreSQL 提供了与为 MySQL 编写的应用程序一起使用的功能,但提供的性能比 MySQL 好得多!
openHalo 理解 MySQL 的 SQL 方言,并支持相同的通信协议,因此您最初为 MySQL 编写的应用程序可以与 openHalo 一起使用,只需更改更少的代码。因此,减少了修改 MySQL 5.7 或更高版本上运行的应用程序并将其移动到 openHalo 所需的工作量,从而实现更快、风险更低且更具成本效益的迁移。
openHalo 支持 MySQL 常用的 SQL 方言和通信协议。您可以将 openHalo 用作 MySQL,使您的传统应用程序能够与 openHalo 通信,而无需大量代码重写,但提供比 MySQL 更好的性能!
Quick Tutorial 快速教程
Installation from Source Code
从源代码安装
- uuid is mandatory. uuid 是必需的。
./configure --prefix=/home/halo/openhalo/1.0 --enable-debug --with-uuid=ossp CFLAGS=-O2
make && make install
cd contrib
make && make install
Server Setup 服务器设置
- Create User & User Group
创建用户和用户组
groupadd –g 1000 halo
useradd –u 1000 –g halo halo
- Setup Environment Variables
设置环境变量
export HALO_HOME=/home/halo/openhalo/1.0
export PGDATA=/home/halo/ohdata
export PATH=$HALO_HOME/bin:$PATH
export LD_LIBRARY_PATH=$HALO_HOME/lib
export PGHOST=/var/run/openhalo
- Initialize Database 初始化数据库
pg_ctl init -D $PGDATA
- Server Configuration 服务器配置
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>...
database_compat_mode = 'mysql' # database compat mode, values can be:
# mysql (mysql mode)
# postgresql (default)
mysql.listener_on = true # (enable MySQL listener; change requires restart)
mysql.port = 3306 # (port for MySQL; change requires restart)
...
</code></span></span></span></span>
- Start & Initialize MySQL Environment
启动并初始化 MySQL 环境
psql -p 5432
# CREATE EXTENSION aux_mysql CASCADE;
- Query Database using mysql CLI
使用 mysql CLI 查询数据库
mysql -P 3306 -h 127.0.0.1