OpenHalo (MySQL)

使用 MySQL 客户端与协议访问 PostgreSQL 数据库!羲和开源的OpenHalo内核提供了 MySQL 兼容的 PG 内核分支。

OpenHalo 是一个开源的,提供 MySQL 线缆协议兼容性的 PG 内核。

OpenHalo 基于 PostgreSQL 14.10 内核版本,提供对 MySQL 版本的线缆协议级兼容性(5.7.32-log / 8.0 )。

目前 Pigsty 提供 EL 8/9 系统上的 OpenHalo 部署支持,Debian / Ubuntu 系统支持将在后续版本中提供。


快速上手

使用 Pigsty 标准安装流程,并使用 mysql 配置模板即可。

curl -fsSL https://repo.pigsty.cc/get | bash; cd ~/pigsty
./bootstrap              # 准备 Pigsty 依赖
./configure -c mysql     # 使用 MysQL (openHalo)配置模板
./install.yml            # 安装,生产部署请先修改 pigsty.yml 中的密码 

对于生产部署,请务必在执行安装剧本前,先修改 pigsty.yml 配置文件中的密码参数。


使用说明

访问 MySQL 时,实际连接使用的是 postgres 数据库。 请注意,MySQL 中 “数据库” 的概念其实对应着 PostgreSQL 中的 “Schema” 概念。 因此 use mysql 使用的其实是 postgres 数据库中的 mysql Schema。

MySQL 使用的用户名和密码与 PostgreSQL 中的用户和密码一致。 你可以使用 PostgreSQL 标准的方式来管理用户和权限。

客户端访问

openHalo 提供了 MySQL 线缆协议兼容性,默认监听 3306 端口,MySQL 客户端与驱动程序可以直接连接。

Pigsty 的 conf/mysql 配置默认安装了 mysql 客户端工具。

你可以使用以下命令访问 MySQL:

mysql -h 127.0.0.1 -u dbuser_dba

目前 OpenHalo 官方已经确保 Navicat 可以正常访问此 MySQL 端口,但 Intellij IDEA 的 DataGrip 访问会报错。


修改说明

Pigsty 安装的 OpenHalo 内核在 HaloTech-Co-Ltd/openHalo 内核基础上进行轻度修改:

  • 默认数据库名称从 halo0root 修改回 postgres
  • 移除默认版本号的 1.0. 前缀,修改回 14.10
  • 修改默认配置文件,默认启用 MySQL 兼容性并监听 3306 端口

请注意,Pigsty 不对使用 OpenHalo 内核承担任何质保责任,使用此内核遇到的任何问题与需求请联系原厂解决。