同步链路手册-Oracle链路限制、数据库配置和账号授权

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: DTS链路手册-Oracle篇-Oracle链路限制、数据库配置和账号授权

数据库限制和数据库配置

自建Oracle为源

数据库限制

数据库版本、架构限制

  • 支持Oracle数据库版本有10G、11G、12C、18C和19C。
  • 支持单节点、rac实例架构。
  • 支持12C及以上版本的租户式和非租户式架构;

数据库配置限制

  • 增量限制
  • 数据库已开启ARCHIVELOG(归档模式),并且必须保证归档日志保留3天以上。
  • 数据库已开启Supplemental Logging。

数据库接入方式限制

  • 支持自建Oracle数据库的公、私网ip接入。
  • 支持RAC架构下ScanIP、单节点的VIP或者物理IP接入。
  • 支持专线的方式接入,其中不支持RAC节点ScanIP专线接入。
  • 支持ADG主、备库方式接入。
  • 支持AWS RDS4Oracle为源接入。

迁移对象限制

  • 待迁移的表需具备主键或唯一约束,且字段具有唯一性,否则可能会导致同步链路延迟、甚至目标数据库中出现重复数据。
  • 如果您的自建Oracle版本为12c及以上,待迁移表的名称长度需不超过30个字节。

其他限制

  • 执行数据迁移前需评估源库和目标库的性能,同时建议业务低峰期执行数据迁移。否则全量数据迁移时,DTS会占用源库一定读资源,可能导致数据库的负载上升。
  • Oracle为源支持写入字符集与数据库字符集不一致的场景,需要额外设置参数source.column.encoding。

数据库配置

Oracle为源链路全量迁移无需在源库执行特殊配置。

Oracle为源的增量链路,需要抓取、解析源端日志以获取增量变更,需要客户在Oracle数据库中完成如下配置。

1)开启日志归档模式

DTS增量运行过程中,需要抓取源库online redolog或者archived redolog(如果online redolog找不到需要的增量日志,会自动查找archived redolog),因此需要在源库开启日志归档模式,如下介绍了检查、开启归档日志的步骤。

第一步:检查源库是否已经开启归档模式(如果已经开启跳过后续步骤)

archive log list;

第二步:mount方式重启数据库(此过程需要重启数据库,客户根据实际情况操作)

shutdown immediate;
startup mount;

第三步:开启日志归档模式

alter database archivelog;
alter database open;

第四步:检查日志归档配置是否生效

archive log list;

2)开启补充日志

DTS在增量同步时,还需要开启源库补充日志。目前DTS支持开启库级别补充日志和仅开启表级别补充日志两种模式,开启库级别补充日志,DTS任务运行更为稳定;开启表级别补充日志,不支持整库迁移中新建未开启补充日志的表,则更节约源Oracle数据库的磁盘空间。

模式一:检查、开启库级别补充日志:

检查库级别补充日志是否开启
SELECT supplemental_log_data_min, supplemental_log_data_pk,supplemental_log_data_ui FROM v$database;
开启库级最小补充日志
alter database add supplemental log data;
开启库级主键、唯一键补充日志:
alter database add supplemental log data (primary key,unique index) columns;
检查库级别补充日志是否开启
SELECT supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_ui FROM v$database;

模式二:开启表级别补偿日志:

开启库级最小补充日志
alter database add supplemental log data;
开启库级主键、唯一键补充日志:
alter database add supplemental log data (primary key,unique index) columns;
开启表级补充日志(两者选其一) :
  1.alter table table_name add supplemental log data (primary key) columns;
  2.alter table table_name add supplemental log data (all) columns;

AWS RDS4Oracle为源

AWS RDS4Oracle为源数据库限制与自建Oracle一致,目前仅支持10G、11G、12C、18C、19C版本(12C以上版本仅支持非租户式架构)。但是DTS增量迁移在数据库配置上有所区别,如下详细介绍配置操作。

数据库配置

1)开启日志归档模式

第一步:查看并设置归档日志保留时间

exec rdsadmin.rdsadmin_util.show_configuration;
exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours', 72)

2)开启补充日志

AWS RDS4Oracle为源链路同样支持两种模式:库级别和表级别补充日志。

模式一:检查、开启库级别补充日志:

检查库级别补充日志是否开启
SELECT supplemental_log_data_min, supplemental_log_data_pk,supplemental_log_data_ui FROM v$database;
打开强制日志模式。
exec rdsadmin.rdsadmin_util.force_logging(p_enable => true);
开启库级主键、唯一键补充日志
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'PRIMARY KEY');
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'UNIQUE');

模式二:开启表级别补偿日志:

开启表级别全字段补充日志
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'ALL');
开启表级别主键补充日志
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'PRIMARY KEY');

Oracle为目标

链路限制

数据库版本、架构限制

1.支持Oracle数据库版本有10G、11G、12C、18C和19C。

2.支持单节点、rac实例架构。

3.支持12C及以上版本的租户式和非租户式架构;

数据库接入方式限制

1.支持自建Oracle数据库的公、私网ip接入。

2.支持RAC架构下ScanIP、单节点的VIP或者物理IP接入。

3.支持专线的方式接入,其中不支持RAC节点ScanIP专线接入。

4.支持ADG主、备库方式接入。

5.支持AWS RDS4Oracle为源接入。

其他限制

1.执行数据迁移前需评估目标库的性能,同时建议业务低峰期执行数据迁移。否则全量数据迁移时,DTS会占用目标库一定网络资源和写资源,可能导致数据库的负载上升。

2.由于DTS全量数据迁移并发执行insert操作,会导致目标数据库表产生部分碎片,因此全量迁移完成后目标数据库存储空间会比源实例库大。

数据库配置

Oracle为目标库的链路,全量迁移、增量迁移无需在目标库执行特殊配置。

数据库账号权限准备

Oracle作为源

DTS迁移过程中,需要创建数据采集账号并授权。结构和全量迁移,需要给数据采集账号授予DBA角色或者精细化授权,增量迁移需要抓取源端日志,需要授予DBA角色或者精细授权。下面介绍了这授权和验证命令。

结构迁移

全量迁移

增量迁移

  • DBA角色
  • 精细授权
  • DBA角色
  • 精细授权
  • 非租户式架构授予DBA角色
  • 精细授权

结构迁移、全量、增量授予DBA权限

#创建数据库账号(以rdsdt_dtsacct为例)并进行授权
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
grant connect to rdsdt_dtsacct;
grant dba to rdsdt_dtsacct;
#rdsdt_dtsacct账号登陆,检查是否授权完成
select * from user_tab_privs;              --授予权限:create session
select granted_role from user_role_privs;  --授予角色:connect、dba

结构迁移、全量精细授权

#创建数据库账号(以rdsdt_dtsacct为例)并进行授权
-- 创建账号
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
-- 授予角色
grant connect to rdsdt_dtsacct;
grant select_catalog_role to rdsdt_dtsacct;
校验命令(使用新建账号登陆):select * from user_role_privs;
-- 授予系统权限
grant select any table to rdsdt_dtsacct;
校验命令(使用新建账号登陆):select * from user_sys_privs;    --

增量迁移精细授权

不同版本、架构、接入方式,授权方式存在差异,下面分别给出了增量精细化授权操作。

Oracle 10G~11G

#创建数据库账号(以rdsdt_dtsacct为例)并进行授权
-- 创建账号
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
-- 授予角色
grant connect to rdsdt_dtsacct;
grant select_catalog_role to rdsdt_dtsacct;
校验命令(使用新建账号登陆):select * from user_role_privs;
-- 授予系统权限
grant select any table to rdsdt_dtsacct;
grant select any transaction to rdsdt_dtsacct;
校验命令(使用新建账号登陆):select * from user_sys_privs;
-- 授予对象权限
-- 普通对象
grant select on all_objects to rdsdt_dtsacct;
grant select on all_tab_cols to rdsdt_dtsacct;
grant select on dba_registry to rdsdt_dtsacct;
grant execute on sys.dbms_logmnr to rdsdt_dtsacct;
-- 系统视图
grant select on v_$log to rdsdt_dtsacct;
grant select on v_$logfile to rdsdt_dtsacct;
grant select on v_$standby_log to rdsdt_dtsacct;    -- ADG备库接入,需要给予该视图权限;主库接入不需要
grant select on v_$archived_log to rdsdt_dtsacct;
grant select on v_$parameter to rdsdt_dtsacct;
grant select on v_$database to rdsdt_dtsacct;
grant select on v_$active_instances to rdsdt_dtsacct;
grant select on v_$instance to rdsdt_dtsacct;
grant select on v_$logmnr_contents to rdsdt_dtsacct;
-- 系统基表
grant select on sys.USER$ to rdsdt_dtsacct;
grant select on sys.OBJ$ to rdsdt_dtsacct;
grant select on sys.COL$ to rdsdt_dtsacct;
grant select on sys.IND$ to rdsdt_dtsacct;
grant select on sys.ICOL$ to rdsdt_dtsacct;
grant select on sys.CDEF$ to rdsdt_dtsacct;
grant select on sys.CCOL$ to rdsdt_dtsacct;
grant select on sys.TABPART$ to rdsdt_dtsacct;
grant select on sys.TABSUBPART$ to rdsdt_dtsacct;
grant select on sys.TABCOMPART$ to rdsdt_dtsacct;
校验命令(使用新建账号登陆):select * from user_tab_privs;

Oracle 12G~19G(非租户式)

#创建数据库账号(以rdsdt_dtsacct为例)并进行授权
-- 创建账号
create user rdsdt_dtsacct IDENTIFIED BY rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
-- 授予角色
grant connect to rdsdt_dtsacct;
grant select_catalog_role to rdsdt_dtsacct;
grant logmining to rdsdt_dtsacct;
grant execute_catalog_role to rdsdt_dtsacct;
校验命令(使用新建账号登陆):select * from user_role_privs;
-- 授予系统权限
grant select any table to rdsdt_dtsacct;
grant select any transaction to rdsdt_dtsacct;
校验命令(使用新建账号登陆):select * from user_sys_privs;
-- 授予对象权限
-- 普通对象
grant select on all_objects to rdsdt_dtsacct;
grant select on all_tab_cols to rdsdt_dtsacct;
grant select on dba_registry to rdsdt_dtsacct;
grant execute on sys.dbms_logmnr to rdsdt_dtsacct;
-- 系统视图
grant select on v_$log to rdsdt_dtsacct;
grant select on v_$logfile to rdsdt_dtsacct;
grant select on v_$standby_log to rdsdt_dtsacct;    -- ADG备库接入,需要给予该视图权限;主库接入不需要
grant select on v_$archived_log to rdsdt_dtsacct;
grant select on v_$parameter to rdsdt_dtsacct;
grant select on v_$database to rdsdt_dtsacct;
grant select on v_$active_instances to rdsdt_dtsacct;
grant select on v_$instance to rdsdt_dtsacct;
grant select on v_$logmnr_contents to rdsdt_dtsacct;
-- 系统基表
grant select on sys.USER$ to rdsdt_dtsacct;
grant select on sys.OBJ$ to rdsdt_dtsacct;
grant select on sys.COL$ to rdsdt_dtsacct;
grant select on sys.IND$ to rdsdt_dtsacct;
grant select on sys.ICOL$ to rdsdt_dtsacct;
grant select on sys.CDEF$ to rdsdt_dtsacct;
grant select on sys.CCOL$ to rdsdt_dtsacct;
grant select on sys.TABPART$ to rdsdt_dtsacct;
grant select on sys.TABSUBPART$ to rdsdt_dtsacct;
grant select on sys.TABCOMPART$ to rdsdt_dtsacct;
校验命令(使用新建账号登陆):select * from user_tab_privs;

Oracle 12G~19G(租户式)

#切换至PDB,创建数据库账号(以rdsdt_dtsacct为例)并进行授权
alter session set container = <ORCLPDB1>;
-- 创建账号
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
-- 授予角色
grant connect to rdsdt_dtsacct;
grant select_catalog_role to rdsdt_dtsacct;
grant logmining TO rdsdt_dtsacct;
grant execute_catalog_role to rdsdt_dtsacct;
校验命令(使用新建账号登陆):select * from user_role_privs;
-- 授予系统权限
grant select any table to rdsdt_dtsacct;
grant select any transaction to rdsdt_dtsacct;
校验命令(使用新建账号登陆):select * from user_sys_privs;
-- 授予对象权限
-- 普通对象
grant select on all_objects to rdsdt_dtsacct;
grant select on all_tab_cols to rdsdt_dtsacct;
grant select on dba_registry to rdsdt_dtsacct;
grant execute on sys.dbms_logmnr to rdsdt_dtsacct;
-- 系统视图
grant select on v_$pdbs to rdsdt_dtsacct;
grant select on v_$log to rdsdt_dtsacct;
grant select on v_$logfile to rdsdt_dtsacct;
grant select on v_$standby_log to rdsdt_dtsacct;    -- ADG备库接入,需要给予该视图权限;主库接入不需要
grant select on v_$archived_log to rdsdt_dtsacct;
grant select on v_$parameter to rdsdt_dtsacct;
grant select on v_$database to rdsdt_dtsacct;
grant select on v_$active_instances to rdsdt_dtsacct;
grant select on v_$instance to rdsdt_dtsacct;
grant select on v_$logmnr_contents to rdsdt_dtsacct;
-- 系统基表
grant select on sys.USER$ to rdsdt_dtsacct;
grant select on sys.OBJ$ to rdsdt_dtsacct;
grant select on sys.COL$ to rdsdt_dtsacct;
grant select on sys.IND$ to rdsdt_dtsacct;
grant select on sys.ICOL$ to rdsdt_dtsacct;
grant select on sys.CDEF$ to rdsdt_dtsacct;
grant select on sys.CCOL$ to rdsdt_dtsacct;
grant select on sys.TABPART$ to rdsdt_dtsacct;
grant select on sys.TABSUBPART$ to rdsdt_dtsacct;
grant select on sys.TABCOMPART$ to rdsdt_dtsacct;
校验命令(使用新建账号登陆):select * from user_tab_privs;
#切换至CDB$ROOT,并在如下两种方式选其一,进行账号创建并授权
alter session set container = <CDB$ROOT>;
方式一:创建C##开头的全局账号(以C##rdsdt_dtsacct为例)并进行授权
create user c##rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to c##rdsdt_dtsacct;
grant connect to c##rdsdt_dtsacct;
grant logmining to c##rdsdt_dtsacct;
grant execute_catalog_role to c##rdsdt_dtsacct;
grant select on v_$logmnr_contents to c##rdsdt_dtsacct;
grant execute on sys.dbms_logmnr to c##rdsdt_dtsacct;
grant select on v$database to rdsdt_dtsacct;
方式二:创建数据库账号(以rdsdt_dtsacct为例)并进行授权(如使用方式二,则您需要修改Oracle数据库的默认参数)
alter session set "_ORACLE_SCRIPT"=true;
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
grant connect to rdsdt_dtsacct;
grant logmining to rdsdt_dtsacct;
grant execute_catalog_role to rdsdt_dtsacct;
grant select on v_$logmnr_contents to rdsdt_dtsacct;
grant execute on sys.dbms_logmnr to rdsdt_dtsacct;

AWS RDS4Oracle 10G、11G、12C、18C、19C(非租户)接入方式

#创建数据库账号(以RDSDT_DTSACCT为例)并进行授权
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
-- 授予角色
grant connect to rdsdt_dtsacct;
grant logmining to rdsdt_dtsacct;
grant execute_catalog_role to rdsdt_dtsacct;
校验命令(使用新建账号登陆):select * from user_role_privs;
-- 授予系统权限
grant select any table to rdsdt_dtsacct;
grant select any transaction to rdsdt_dtsacct;
校验命令(使用新建账号登陆):select * from user_sys_privs;
-- 授予对象权限
-- 系统视图
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGMNR_LOGS','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_OBJECTS','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_TAB_COLS','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_REGISTRY','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOG','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGFILE','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$ARCHIVED_LOG','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PARAMETER','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$ACTIVE_INSTANCES','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$INSTANCE','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGMNR_CONTENTS','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_LOGMNR','RDSDT_DTSACCT','EXECUTE');
-- 系统基表
exec rdsadmin.rdsadmin_util.grant_sys_object('USER$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('OBJ$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('COL$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('IND$',  'RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ICOL$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('CDEF$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('CCOL$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('TABPART$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('TABSUBPART$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('TABCOMPART$','RDSDT_DTSACCT','SELECT');
校验命令(使用新建账号登陆):select * from user_tab_privs;

Oracle作为目标

DTS迁移过程中,需要创建数据复制账号并授权,结构迁移需要给数据采集账号授予DBA角色,全量迁移和增量迁移需要给数据采集账号授予resource角色。

结构迁移

全量迁移

增量迁移

DBA角色

resource角色

resource角色

结构迁移授予DBA权限

#创建数据库账号(以rdsdt_dtsacct为例)并进行授权
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
grant connect to rdsdt_dtsacct;
grant dba to rdsdt_dtsacct;
#rdsdt_dtsacct账号登陆,检查是否授权完成
select * from user_tab_privs;              --授予权限:create session
select granted_role from user_role_privs;  --授予角色:connect、dba

全量迁移、增量迁移授予resoure权限

#创建数据库账号(以rdsdt_dtsacct为例)并进行授权
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
grant connect to rdsdt_dtsacct;
grant resource to rdsdt_dtsacct;
#rdsdt_dtsacct账号登陆,检查是否授权完成
select * from user_tab_privs;              --授予权限:create session
select granted_role from user_role_privs;  --授予角色:connect、resource


相关文章
|
1月前
|
存储 监控 安全
数据库多实例的部署与配置方法
【10月更文挑战第23天】数据库多实例的部署和配置需要综合考虑多个因素,包括硬件资源、软件设置、性能优化、安全保障等。通过合理的部署和配置,可以充分发挥多实例的优势,提高数据库系统的运行效率和可靠性。在实际操作中,要不断总结经验,根据实际情况进行调整和优化,以适应不断变化的业务需求。
|
26天前
|
缓存 关系型数据库 MySQL
高并发架构系列:数据库主从同步的 3 种方案
本文详解高并发场景下数据库主从同步的三种解决方案:数据主从同步、数据库半同步复制、数据库中间件同步和缓存记录写key同步,旨在帮助解决数据一致性问题。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
高并发架构系列:数据库主从同步的 3 种方案
|
22天前
|
消息中间件 资源调度 关系型数据库
如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理
本文介绍了如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理。主要内容包括安装Debezium、配置Kafka Connect、创建Flink任务以及启动任务的具体步骤,为构建实时数据管道提供了详细指导。
51 9
|
22天前
|
安全 Nacos 数据库
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改。本文详细探讨了这一问题的原因及解决方案,包括限制公网访问、使用HTTPS、强化数据库安全、启用访问控制、监控和审计等步骤,帮助开发者确保服务的安全运行。
29 3
|
29天前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
40 7
|
29天前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
27 6
|
26天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
29天前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
21 5
|
28天前
|
Java 数据库连接 数据库
如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面
本文介绍了如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面。通过合理配置初始连接数、最大连接数和空闲连接超时时间,确保系统性能和稳定性。文章还探讨了同步阻塞、异步回调和信号量等并发控制策略,并提供了异常处理的最佳实践。最后,给出了一个简单的连接池示例代码,并推荐使用成熟的连接池框架(如HikariCP、C3P0)以简化开发。
48 2
|
29天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
85 2

推荐镜像

更多