news 2026/9/18 17:52:50

Oracle 19c安装全攻略:从下载、配置到排错一站搞定

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Oracle 19c安装全攻略:从下载、配置到排错一站搞定

Oracle数据库的下载安装,网上教程一大把,但大多数都是“截图+命令”的流水账,跟着走一遍容易,遇到问题还是懵。我最早接触Oracle的时候,光一个监听服务起不来就折腾了两天,后来才慢慢摸清楚里面的门道。所以这篇不打算只给你贴步骤,我会把版本选择、账号注册、安装前检查、静默安装、环境变量、监听器这些关键环节背后的原理和坑都讲清楚,尽量让哪怕零基础的小白也能搞明白“为什么要这么做”,而不只是“照着做就行”。

先说清楚这个教程适用的人群:刚接触Oracle数据库的学生、想在自己电脑上装一套环境练手的开发人员,以及工作需要搭建本地测试库的运维新手。如果你是想在生产环境部署Oracle,或者需要处理RAC集群这种复杂架构,那建议直接去找官方文档或专业的DBA帮忙,我这边讲的是“个人电脑/单机环境跑起来”这条最稳妥的路径。

1. 下载Oracle前的关键准备

1.1 先搞清楚你要装哪个版本

Oracle数据库的版本命名和选择逻辑,这几年变化挺大,很多人一上来就在官网迷路,就是因为版本太多不知道选哪个。目前主流的版本大概分三档:老而弥坚的11g、使用范围最广的19c、以及Oracle重点推广的最新版21c/23ai。

11g是很多老系统还在用的版本,网上搜“oracle 11g 下载资源”的热度至今不减。但这里我要先劝一句:除非你是为了适配公司老项目,否则新装环境就别碰11g了,它已经过了官方标准支持期,安全补丁不再更新,而且在新操作系统上安装会遇到各种兼容性问题,需要手动改很多参数,折腾半天装好了还容易出隐患。

我推荐个人学习或开发环境优先考虑19c。原因是19c是长期支持版本(Oracle说它是“Long Term Support”版本),稳定性和兼容性都经过了充分验证,网上遇到问题也容易搜到解决方案。21c和23ai功能更新,但很多特性在实际项目中还没普及,教程资源相对少一些。

1.2 确认你的电脑配置是否达标

Oracle算是数据库里比较“吃”资源的选手,虽然不像有些人说的那么恐怖,但配置太差确实跑不动。最低要求是8GB内存、50GB硬盘空间,这个只是跑起来的最低门槛。实际体验下来,16GB内存跑得比较舒服,开发环境至少给Oracle留4GB内存空间,不然建库的时候动辄报ORA-04031(共享池内存不足)或者机器卡成PPT。

操作系统方面,官方支持Windows Server和主流Linux发行版(RHEL、CentOS、Oracle Linux等)。Windows 10/11的个人版系统装上也能跑,只是官方文档不推荐,我实测过Windows 11家庭版装19c没有太大问题,顶多安装过程中提示一两个兼容性警告,点“继续”就行。

硬盘必须是NTFS格式,FAT32不行,因为Oracle的数据文件动辄几个GB,FAT32单文件4GB上限直接卡死。虚拟内存(页面文件)建议设置成物理内存的1.5倍以上,别问为什么,后面建库时你就知道了。

1.3 提前注册好Oracle账号

官网下载必须要登录Oracle账号,注册是免费的,但过程有点繁琐。打开Oracle官网点右上角的人头图标,进入注册页面,会让你填一堆信息,邮箱一定要填常用的,因为要收验证邮件。这里有个小技巧:注册时地区选择“中国大陆”会遭遇验证码加载半天的情况,我当时是换了浏览器才搞定,后来发现用Edge浏览器成功率更高,Chrome有时候会被页面的自动化检测拦下来。

账号注册完成后,建议顺手把账户信息记在备忘录里,因为Oracle账号和云服务账号是打通的,以后你可能会用到Oracle Cloud的免费资源或者去Oracle Support论坛提问,都用同一个账号。

2. 官网下载全流程

2.1 打开下载页面

登录账号后,在官网导航菜单找到“Downloads”入口,或者在浏览器直接输入Oracle数据库软件下载地址。进入后你会看到一排版本列表,点击你想下载的版本(比如19c),然后在页面里选择操作系统平台。

这里有个细节要注意:Oracle的下载页面区分“Installation”和“Grid Infrastructure”两种文件,如果你只装数据库单机版,下载第一个“Database”的zip包就行,别手抖把Grid Infrastructure也下载了,那是给集群环境用的,单机装了纯属浪费时间和硬盘空间。

2.2 选择适合的安装包

Oracle 19c的Windows版本只有一个zip安装包,大约2GB左右,Linux版本则分成两个zip:一个是数据库软件本身,另一个是兼容包或补丁。下载时看清楚文件名,不要只看标题。

下载过程中网速如果很慢,不要反复刷新或者重试,Oracle的下载是支持断点续传的,找个好用的下载工具挂上就行。有个小经验:如果官网老是下载中断,可以试试在下载链接前加上Oracle的CDN节点前缀,或者换网络环境(比如用手机热点)试试,实测有时候换IP段比一直死磕同一个链接更有效。

2.3 下载文件的完整性校验

安装包下载完之后,强烈建议先做一次校验和比对,避免文件损坏导致安装到一半报错。Windows下用命令提示符运行certutil -hashfile 文件名 SHA256,Linux/macOS用sha256sum,然后把输出的哈希值和官网上公示的哈希值对比,完全一致再继续。

这一步虽然多花两分钟,但能帮你避开很多莫名其妙的安装问题。我之前帮同事排查过一个安装到46%就报错的情况,最后发现就是zip包损坏导致的,重新下载一次就好了。

3. Windows环境安装实操

3.1 安装前的系统调整

在Windows上装Oracle 19c之前,有几个系统层面的设置建议提前做好,不然装到一半可能让你崩溃。首先是关闭UAC(用户账户控制),安装过程中如果频繁弹出权限确认框,很容易打断安装程序的状态流转。打开电脑设置,搜索“UAC”,把滑块拉到“从不通知”,装完再拉回来,记得重启一次。

然后是以管理员身份运行安装程序。右键点击安装包解压后的“setup.exe”,选择“以管理员身份运行”,没有这一步,后面创建数据库时大概率会报“权限不足”之类的错。

还有一点,Windows防火墙最好临时关掉,或者在防火墙规则里放行Oracle的安装程序和一些关键端口(1521最常用)。不关的话,有时候安装程序启动监听服务时会莫名其妙失败,你排查半天也找不到原因,其实是防火墙在后面拦着。

3.2 安装向导各步要点

Oracle的安装向导虽然是一路“下一步”,但中间有几个配置项必须认真对待。

配置安全更新的页面,把“我希望通过My Oracle Support接收安全更新”这个勾选框取消掉,这个就是注册时的邮箱,你不取消它,后面每次启动数据库都会去连Oracle的服务器检查更新,既慢又烦。

“安装选项”选“创建和配置数据库”(默认),如果你只是先装软件不建库,后面手动建库会很麻烦,小白不建议选。

“系统类别”选择“桌面类”,因为你在个人电脑上学习用,没必要选“服务器类”那种复杂的配置。

“Oracle基目录”和“软件位置”建议直接用默认路径,不要放在中文目录下!这一点特别重要,Oracle对中文路径的支持一直有坑,装了之后各种奇怪报错。我的习惯是统一用C:\app\oracle这种全英文路径。

“数据库版本”选择“企业版”没问题,即使你只是学习,企业版功能全,以后想尝试什么特性都能玩。全局数据库名和SID建议都用orcl,这是最通用的配置,以后看到网上教程里的命令示范多数默认这个名称,匹配起来少踩坑。

管理口令就是数据库超级管理员sys的密码,这个一定要设一个你能记住且复杂度够的密码(比如包含大小写字母和数字)。Oracle对密码强度有要求,弱密码会在最后一步建库时报错。

3.3 安装过程卡住怎么办

安装过程中出现卡顿或者长时间停在某个百分比,先不要急着强制终止。Oracle安装有很多步骤是要执行脚本的,有些脚本执行时间本来就长,尤其“链接数据库”这一步,在配置较低的电脑上可能卡上十几分钟。

判断是否真的死掉的办法是观察CPU和磁盘I/O,如果任务管理器显示磁盘或CPU仍然有活动,就耐心等;如果完全没有任何活动且持续时间超过半小时,那就要检查是不是某个服务进程崩了。遇到这种情况,最稳妥的办法是结束安装进程,清理注册表和残留文件后重新来,别硬等。

3.4 安装完成后的目录结构

装完之后C盘会多出一个app目录,里面是你Oracle的环境根目录(ORACLE_HOME),核心内容都在app\oracle\product\19.0.0\dbhome_1下。这个路径里能看到bin(可执行文件)、network(网络配置文件)、database(参数文件)等标准目录,记住这个目录,后面配置环境变量和排查问题都用得到。

4. Linux环境安装要顺手很多

4.1 为什么Linux下安装其实更简单

很多人以为Linux装Oracle很难,其实恰恰相反,只要前置依赖包补齐了,Linux下安装比Windows更稳定,产生的后续问题也少。而且生产环境基本都是Linux,运维习惯Linux也更符合实际工作需求。

我自己的经验是,在CentOS 7或Oracle Linux 7/8上装19c,跟着官方文档走,成功率相当高。难点只在于需要配置好内核参数和安装一堆依赖库,但这些都是有标准答案的。

4.2 内核参数与依赖检查

安装前需要配置的内核参数包括共享内存、信号量、进程数限制等,这些参数写在/etc/sysctl.conf里,重启后长期生效。有个偷懒的方法是直接参考Oracle官方给出的推荐值,不需要死记硬背。比如kernel.shmallkernel.shmmax这两个参数直接给个较大的值就行,因为现在服务器内存普遍很大。

依赖包方面,不同的Linux发行版名称会有差异,但大体上都包含binutils、glibc、libaio、libgcc、libstdc++、make、gcc这些。最简单的做法是拷贝官方文档里的依赖列表,写成一串yum命令一次性装好,省得装到一半报缺少库再回来补。

4.3 静默安装方案

命令行环境或远程服务器上装Oracle,不可能像Windows那样点图形界面,所以必须用静默模式。方法是先准备一个响应文件(response file),把安装过程中要回答的问题全部写在这个文件里,然后通过一句命令执行安装:

./runInstaller -silent -responseFile /path/to/your_response_file.rsp

响应文件里最重要的参数包括oracle.install.option=INSTALL_DB_SWONLY(只装软件不建库)或者选择同时建库、UNIX_GROUP_NAME=oinstallINVENTORY_LOCATIONORACLE_HOMEORACLE_BASE等。这些参数如果写错,安装会直接报错退出,所以写完后建议通读检查一遍再执行。

4.4 root脚本的执行时机

静默安装进行到后半段,终端会提示你“需要用root权限执行两个脚本”,分别是在$ORACLE_HOME/root.sh/u01/app/oraInventory/orainstRoot.sh。这一步千万别跳过,很多人安装成功但启动不了数据库,就是因为漏了root脚本。

执行完root脚本再回到终端按“Enter”继续,整个安装才算真正结束。在Windows上也有类似的操作,但没有这么明显,所以很多小白在Linux下装到这一步就愣在那里。

5. 安装后的环境变量与配置

5.1 Windows环境变量配置详解

装完Oracle后,为了让命令行的sqlpluslsnrctl这些工具在任何目录下都能直接运行,需要配置环境变量。

Windows系统下按Win+R打开运行窗口,输入sysdm.cpl进入系统属性,“高级”选项卡里找到“环境变量”。在系统变量里新建ORACLE_HOME,值填你的Oracle安装路径,比如C:\app\oracle\product\19.0.0\dbhome_1。再把%ORACLE_HOME%\bin追加到Path变量里。环境变量生效需要新开一个命令行窗口,旧窗口不会自动刷新。

配置完可以在命令行敲sqlplus / as sysdba试一下,如果出现SQL*Plus的命令提示符,说明配置成功。如果提示“sqlplus不是内部或外部命令”,回去检查Path是否写对、ORACLE_HOME路径是否真实存在。

5.2 Linux环境变量配置

Linux下的环境变量写在用户主目录的.bash_profile.bashrc里,内容大致是:

export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH export ORACLE_SID=orcl

注意ORACLE_SID这个变量是Linux下独有的关键环境变量,它决定了你连接本地数据库实例时默认用哪个库,Windows下SID是写在注册表里的,不需要专门设环境变量。

5.3 配置监听服务

监听器(Listener)是Oracle数据库对外提供服务的“门卫”,客户端连数据库首先要连到监听器,再由监听器把请求转发给数据库实例。安装完成后,Windows下的监听服务一般会自动启动,任务管理器里能看到一个叫“OracleOraDB19Home1TNSListener”的服务。

但有时候这个服务就是启动失败,原因可能是端口被占、配置文件错误、或者路径权限问题。排查顺序如下:先用netstat -ano | findstr 1521看1521端口有没有被其他进程占用,如果没有再检查listener.ora配置文件,确认监听地址和端口是否正确。最后一点经验之谈:如果你改过主机名,监听配置里可能还残留旧主机名,也会导致启动失败。

Linux下启动监听用lsnrctl start命令,查看状态用lsnrctl status。如果启动不了,日志在$ORACLE_HOME/network/log目录下,打开listener.log看最后几行就能大概定位问题。

6. 创建数据库实例全流程

6.1 数据库实例和软件是两回事

这里要先理清一个概念,装好的Oracle软件只是一个“空壳”,真正能用的是“数据库实例”,也就是你通过配置创建的、包含数据文件的数据库环境。就好比装好了Word软件,但你得新建一个文档才能打字。

安装向导如果选择了“创建和配置数据库”,那Oracle在安装结束时就已经帮你建好了一个实例;如果你只装了软件,就需要手动用DBCA(Database Configuration Assistant)来建库。

Windows下从开始菜单找“Database Configuration Assistant”打开,或者命令行直接输入dbca。Linux下是在命令行敲dbca

6.2 DBCA建库参数详解

DBCA向导中,“数据库操作”选“创建数据库”,“创建模式”选“高级配置”才能手动控制参数。这一步我多说两句:小白可能会觉得“典型配置”更省事,但我建议至少要明白高级配置里的几个关键参数是什么意思。

内存分配是容易出问题的环节。Oracle 19c默认使用自动内存管理(AMM),理论上它会根据系统负载动态调整SGA和PGA大小,但有时候它调整的速度跟不上实际需求,尤其是并发大的时候。我的习惯是直接手动指定SGA(共享内存区)大小,比如SGA=2GPGA=1G,这样行为更可预期。

字符集选择也同样关键。如果你的业务需要存储中文,选AL32UTF8,这是最通用的UTF-8编码,兼容各种客户端;如果只处理简体中文,也可以选ZHS16GBK,存储占用更小。字符集建库后修改很麻烦,所以这里一定要想清楚。

存储类型、闪回区、归档模式这些,如果只是本地测试环境,保持默认即可,不用追求和正式生产一样。

6.3 建库后立刻要做的事

建库完成后,第一件事是检查数据库进程是否正常。打开命令行执行sqlplus / as sysdba,进入SQL*Plus后输入select status from v$instance;,如果返回OPEN说明数据库正常运行。

第二件事是创建一个业务账号,别用什么sys或者system直接干业务。生产环境这种“最小权限原则”的习惯,从你第一天学数据库就应该养成。创建命令很简单:

CREATE USER dev_user IDENTIFIED BY dev123456; GRANT CONNECT, RESOURCE TO dev_user;

这样你就有一个可以日常连库操作的账号了。

7. 常见报错与排查技巧

7.1 监听服务无法启动

这个报错应该能排进Oracle新手常见问题前三名。我见过太多人卡在这一步。症状是在服务管理器里点“启动”OracleOraDB19Home1TNSListener服务,过几秒提示“本地计算机上的OracleOraDB19Home1TNSListener服务启动后停止”。

排查第一步,用刚才说的netstat -ano | findstr 1521查端口占用;第二步查listener.ora文件,路径在$ORACLE_HOME\network\admin下,看看HOST配置里的主机名是否和当前机器名一致;第三步看listener.log日志。大多数情况都是这三类原因,按顺序排查基本能解决。

还有一个冷门的坑:Windows的hosts文件里如果配置了不正确的映射,比如把localhost解析成了不存在的IP,监听也会启动失败。打开C:\Windows\System32\drivers\etc\hosts,确认里面有127.0.0.1 localhost这一行。

7.2 ORA-12541: TNS无监听器

这个错误几乎每个用过Oracle的人都遇到过。它表示客户端尝试连接数据库时,在指定地址找不到监听器。可能的原因有两种:监听服务没启动,或者客户端配置的连接地址和监听器实际监听的地址不一致。

排查和上面的步骤类似,先确认监听服务状态,再用tnsping命令测试连接。如果tnsping通了但客户端仍然报错,检查tnsnames.ora里的主机名和端口写没写对。另外,如果服务器有多个IP地址,监听器默认可能只绑定了一个IP,用lsnrctl services查看当前监听器接受哪些地址的请求。

7.3 ORA-12514: TNS服务不存在

这个错误往往让人摸不着头脑,因为监听器是通的,但报错说服务不存在。原因是数据库实例注册到监听器的名称和你要连接的服务名对不上。

tnsnames.ora文件里写的服务名必须是数据库实际注册的名称。数据库实例启动时会把它的服务名和实例名注册到监听器,用lsnrctl services就能看到注册了哪些服务。你要做的,就是让tnsnames.oraSERVICE_NAME的值和lsnrctl services显示的Service名称保持一致。这个问题在数据库服务名比较特殊时容易出现,比如带域名的库名。

7.4 密码忘记怎么处理

Sys密码忘了不要想着重装系统,有更简单的方法。在数据库所在服务器上,使用操作系统认证方式登录:

sqlplus / as sysdba

进入后执行:

ALTER USER sys IDENTIFIED BY new_password;

就能重置密码。Windows下要先确保当前Windows用户对Oracle有管理员权限,或者在sqlnet.ora里配了操作系统认证。

7.5 内存相关报错

ORA-01034和ORA-27101这两个错误组合出现,通常表示实例没有启动。最常见的触发原因是上次关机时数据库没有正常关闭。Windows服务模式下,数据库一般是随服务启动自动开始的,但如果之前你用命令行手动关闭过,重启后没有手动启动,就会报这个错。

解决办法是先启动监听器,然后用startup命令拉起数据库实例。如果startup报内存不足或ORA-00845,多半是/dev/shm容量不够(Linux下)或者虚拟内存设置太小(Windows下),扩容后重试。

8. 卸载Oracle的正确姿势

8.1 Windows卸载容易踩的坑

很多人装完Oracle发现不对劲想卸载,直接到“控制面板-程序和功能”里点卸载,结果卸载一半报错,然后系统里一堆残留文件和注册表项,后续想重装都装不干净。这就是因为Oracle不像普通软件那么简单。

正确做法是先用“Universal Installer”的“卸载产品”功能,把Oracle软件卸载干净;然后手动删除C:\app目录;接着清理注册表(运行regedit,删除HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下的相关项,以及HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services里以Oracle开头的服务项);最后检查服务管理器里还有没有残留的Oracle服务,有的话用管理员命令行执行sc delete 服务名删除。

8.2 Linux卸载相对清爽

Linux下卸载Oracle要简单得多,主要就是删目录、删配置、删用户:

# 停库、停监听 sqlplus / as sysdba << EOF shutdown immediate; EOF lsnrctl stop # 删除ORACLE_HOME和ORACLE_BASE rm -rf /u01/app # 删除oracle用户和组 userdel -r oracle groupdel oinstall groupdel dba # 清理环境变量配置 # 手动编辑 /etc/profile 或 /home/oracle/.bash_profile,删除Oracle相关行

还有一点,检查/etc/oratab文件,把里面Oracle相关行删掉,否则重启系统时可能报莫名其妙的警告。

9. 安装日志的妙用

9.1 日志在哪看

安装过程遇到问题,第一反应不应该是百度报错信息,而是先看日志。Oracle的安装过程每一步都有日志记录,Windows下日志在C:\Program Files\Oracle\Inventory\logs目录,Linux下在/u01/app/oraInventory/logs

日志文件命名规则大概是installActions*.logoraInstall*.err,安装失败时最后的错误信息都会写到里面,比报错弹窗给出的信息详细得多。我记得有一次安装失败,弹窗只显示一个笼统的警告,日志里面却明明白白写着哪个依赖包缺失,照着日志去装依赖,问题立刻解决。

9.2 怎么看日志

打开日志后直接翻到最后面几十行,看错误标记。常见的ERROR级别记录才是问题关键。遇到看不懂的报错,把关键错误信息复制到搜索工具上,比直接搜整个报错弹窗准确率高很多。日志里如果有“INFO: 某某文件不存在”之类的提示,通常直接去找那个文件,比猜问题快得多。

10. 本地环境快速自测

10.1 验证安装成功的标准流程

安装配置完成之后,用一套固定流程快速验证环境是否健康。依次执行:

# 1. 检查监听状态 lsnrctl status # 2. 登录数据库 sqlplus / as sysdba # 3. 查看实例状态 SELECT status FROM v\$instance; # 4. 查看数据库open状态 SELECT open_mode FROM v\$database; # 5. 测试业务账号 sqlplus dev_user/dev123456@localhost:1521/orcl SELECT 1 FROM DUAL;

如果以上步骤全部通过,说明你的Oracle环境已经能用,可以正常开发和学习。

10.2 做一个简单的可用性测试

大部分Oracle安装教程到“能登录”就结束了,但实际使用中还会遇到很多问题。我建议在刚开始学习时就把几个常见的坑提前体验一遍,比如用客户端连接测试、导入导出练习、数据泵备份等,这些操作能帮你更快熟悉Oracle的工作方式。

还有个经常被问到的问题:Oracle里执行select 1 from dual;时,dual表到底能存多少数据。其实dual是Oracle内部提供的一个单行单列表,专门用来做不涉及实际表的运算,它本身不支持存大量数据,也不应该拿来当业务表使用。类似的还有trunc(sysdate)(取当天零点)、case when条件判断、分页的rownumFETCH FIRST写法,都是初学者会反复用到的基础知识点,建议有空把这些语法过一遍。

另外给用数据库导出数据的人提个醒:如果身份证号导出到Excel后变成科学计数法,通常是client工具把长数字识别成了数值并且精度丢失。解决办法是在导出时就设置字段为文本格式,或者用SQL查询时拼接一个不可见字符强制转成字符串,例如select col1 || chr(9) from table,导出的数据就不会被自动转成科学计数法了。

安装Oracle这件事,说难也难,说简单也确实简单,关键是理清几个核心概念:软件、实例、监听器各自是什么角色,下载哪个版本,目标路径选哪里。把这些想明白了,安装过程就是一路顺水推舟。

我在实际安装过程中最大的体会是:大部分失败都不是Oracle不好装,而是提前准备没做好——系统配置没调好、依赖少了包、或者路径带中文。花十分钟把前面的准备工作做扎实,后面能节省好几个小时的排错时间。

最后再分享一个小技巧:安装前一定记下你下载的版本号和安装路径,后续和同事、网友交流时,直接抛出版本号和操作系统,别人才能给你准确的建议。如果你在安装的过程中还遇到了我这里没讲到的问题,欢迎在评论区留言,带上你的版本号、操作系统和完整报错信息,我看到了会尽量回复。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/18 17:52:15

STM32CubeProgrammer:嵌入式AI编程的最后一公里烧录指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/18 17:49:59

MySQL 修改密码全攻略:8.0/5.7、忘记密码与认证插件

MySQL 密码这个东西&#xff0c;平时放在那里谁也不会多看一眼&#xff0c;直到某天你打开 Navicat 或者敲下mysql -u root -p&#xff0c;回车三次都提示ERROR 1045 (28000): Access denied for user rootlocalhost&#xff0c;那一刻脑子里是空的。尤其是刚装完 MySQL 的朋友…

作者头像 李华
网站建设 2026/9/18 17:48:42

Windows计划任务排查:应急响应中快速定位可疑任务与持久化后门

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/18 17:47:08

LeetCode 212:Trie + DFS 高效解决多单词搜索与剪枝优化

1. LeetCode 212 到底在考什么这道题其实把 LeetCode 里两个高频考点缝合在了一起&#xff1a;DFS&#xff08;深度优先搜索&#xff09;和经典数据结构Trie&#xff08;前缀树&#xff09;。很多人在做到第 79 题"单词搜索"的时候觉得挺顺&#xff0c;一个二维棋盘 …

作者头像 李华