暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Halo数据库之MySQL兼容性(1)--启用MySQL模式

原创 贾桂军 2023-11-22
15260

1 关于Halo兼容MySQL的简述

MySQL服务器能处理TB级别的数据库,同时包含了一些可能在其他SQL数据库找不到的扩充,Halo数据库为了更好的提供迁移等服务,对其实现了兼容。

2 如何启用MySQL 模式

将数据库参数文件postgresql.conf进行设置

1)database_compat_mode设置为‘mysql’

database_compat_mode = ‘mysql’

 

2)为了使用Halo-MySQL服务,该项配置的值必须设置为true

second_listener_on=true

 

3)指定Halo-MySQL服务的监听端口。建议设置为3306。

second_port = *

 

4)重启数据库

pg_ctl restart

重新登录psql

 

5)新建MySQL本地用户(halo1), 无需密码登录

创建用户、密码、test数据库:

psql

set password_encryption='mysql_native_password';

create user halo1 with password 'halo1';

create database test;

 

切换test数据库、进行授权、修改:

\c test

create schema test;

GRANT ALL PRIVILEGES ON SCHEMA TEST TO halo1;

GRANT ALL PRIVILEGES ON ALL TABLES IN

SCHEMA public TO halo1;

GRANT ALL PRIVILEGES ON ALL sequences  IN

SCHEMA public TO halo1;

ALTER USER halo1 LOGIN;

ALTER USER halo1 CREATEDB;

ALTER USER halo1 SUPERUSER;

\q

 

安装MySQL客户端:

下载安装包:

mysql-community-client-8.0.24-1.el8.x86_64.rpm

安装:

rpm -ivh mysql-community-client-8.0.24-1.el8.x86_64.rpm --nodep

  登录:

mysql -h 127.0.0.1 -P 3307 -u halo1 -D test(本地用户无需密码)

mysql -h 10.16.16.206 -P 3307 -u halo5 -D test5 -p (非本地用户需要输入密码)

 

7)登录MySQL用户

登录:mysql -h 10.16.16.206 -P 3306 -D test -u halo1 -p

密码:halo1

Halo数据库默认为MySQL 5.7版本,对应于5.7。

 

8)用户授权说明

将新创建的schema授权给目标用户。

例如:

Grant all privileges on schema new_schema_name to user_name(目标用户);

然后,每创建一个表之后(都是位于新创建的schema下)都要进行授权。例如:

grant all privileges on all tables in schema new_schema_name to user_name(目标用户);

grant all privileges on all sequences in schema new_schema_name to user_name(目标用户);

注意:

创建新的表之后,如果没有授权,目标用户将无权访问该表,业务长须中相关的业务代码会报错。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论