配置 MySQL 协议兼容
MySQL 协议兼容简介
openGauss 通过抽象协议层,在 dolphin 插件中实现了 MySQL 协议兼容,用户在设置相关参数后,可以通过 MySQL 的 JDBC 驱动直接连接 openGauss B 兼容模式的数据库。
更多详情信息,请参考:MySQL 协议兼容
MySQL 协议兼容配置
openGauss 兼容 MySQL 协议,支持配置 mysql_native_password 和 caching_sha2_password 两种认证方式。以下以 mysql_native_password 为例,详细介绍其配置方法。
mysql_native_password 认证方式配置
通过 openGauss 命令行工具 gsql 连接 openGauss 数据库
bashgsql -d postgres -p 5432 -r创建 B 兼容类型数据库
sqlCREATE DATABASE proto_test_db WITH DBCOMPATIBILITY 'B' ENCODING 'UTF8';切换至新创建的 B 库下
sql\c proto_test_db创建用户,并设置 MySQL native 密码(可根据需要通过 GRANT 命令给新用户赋权)
sqlCREATE USER proto_test WITH PASSWORD '******'; SELECT set_native_password('proto_test', '******', ''); -- 其中 -- 第一个参数为用户名; -- 第二个参数为 MySQL 连接密码; -- 第三个参数为用户的原 MySQL 连接密码,第一次设置 MySQL 连接密码时原密码可以为空或者任意值,后续更改 MySQL 连接密码或更改认证方式时,需要填写原密码用于验证。设置 openGauss GUC 参数 enable_dolphin_proto 为 on,设置后需要重启 openGauss 数据库,此处等待后续配置完成后一起重启
sqlALTER SYSTEM SET enable_dolphin_proto TO on;设置MySQL协议监听端口号 dolphin_server_port,注意端口号需要与 openGauss 本身监听的端口号不同,设置后需要重启 openGauss 数据库,此处等待后续配置完成后一起重启
sqlALTER SYSTEM SET dolphin_server_port TO 3308;退出 gsql 连接
sql\q重启数据库使配置生效,此处以企业版重启命令为例
bashgs_om -t restart重新使用 gsql 连接 openGauss,并切换到新创建的 B 库下
sqlgsql -d postgres -p 5432 -r \c proto_test_db设置默认连接的数据库实例名为新创建的 B 库名,dolphin.default_database_name。
sqlALTER SYSTEM SET dolphin.default_database_name TO proto_test_db;设置成功后,MySQL 协议兼容配置完成,可通过 MySQL 客户端,使用对应的用户名和密码连接 openGauss B 库。
其他
dolphin.sql_mode
openGauss GUC 参数 dolphin.sql_mode,对于 MySQL sql_mode 中的参数选项,openGauss dolphin.sql_mode 有等价功能的参数进行平替。
dolphin.lower_case_table_names
openGauss GUC 参数 dolphin.lower_case_table_names,用于控制用户名、表名、视图名、模式名的大小写敏感。