2
MySQL 用户专门提供给业务系统使用(针对某个具体的业务系统,在 Halo-MySQL 上
创建 MySQL 用户时就是用相应业务系统的数据库用户名来创建),且只能以标准 MySQL 客
户端方式连接到 Halo-MySQL 的业务服务端口。MySQL 用户一般只建议用于 DML(业务相
关的增删查改)操作。
Halo 用户提供给数据库管理维护人员使用,只能以 DBeaver,Halo-psql 客户端方式
连接到管理服务端口。Halo 用户可进行任何数据库相关的操作(当然也要配置和管理好用
户权限)。建库建表,修改表,管理用户,DBA 日常的数据库运维等,都是通过 Halo 用户进
行(Halo-MySQL 部署好之后,系统会有一个默认的 Halo 用户,也就是超级用户)。
Halo-MySQL 上的 MySQL 用户和 Halo 用户的密码认证逻辑完全不同,所以 MySQL 用
户不能连接到管理服务端口(也无法连接,因为登录认证会失败),同理 Halo 用户也不能连
接到业务服务端口。
1.3 读写分离
读写是近十来年数据库应用场景中的一个典型的需求。
Halo-MySQL 的读写分离最大的特点是真正做到对 SQL 语法的 100%支持,包括自定义
函数(其内部可能有读 SQL,也可能有写 SQL)的自动识别,完全无需业务端的任何干预,
对用户完全无感知。
1.4 垂直分库和水平分表
垂直分库和水平分表是近十来年数据库应用场景中的一个典型的需求。
Halo-MySQL 的垂直分库和水平分表机制最大的特点是相较 proxy 层或引擎层的垂直分
库和水平分表机制,完美的避开了分布式事务,聚合函数,join 等非常顽固的难题。
2、字符集 / 字符序
Halo-MySQL 数据库和 MySQL 数据库的字符集和字符序使用方式有一定的不同。
评论