如何查看mysql数据库补丁版本mysql use my_db;
mysql select * from information_schema.tables t where t.table_schema='my_db';
--大概
Mysql create table lala (la_id int ,la_name varchar(55) primary(id)) enginee=innodb
新手如何调试 MySQL?看这一篇就够了前几天看到姜老师的旧文用 VSCode 编译和调试 MySQL,每个 DBA 都应 get 的小技能[1], 文末留了一个思考题,如何修改源码,自定义版本,使得select version()输出自定义内容
调试过程参考macOS VSCode 编译调试 MySQL 5.7[2]
内部Item对象参考从SQL语句到MySQL内部对象[3]
源码面前没有秘密,建义对 DB 感兴趣的尝试 debug 调试 。本文环境为 macvscodelldb
vscode 插件:
mysql 源码:
补?。? MySQL = 8.0.21需要对 cmake/mysql_version.cmake 文件打补丁 (没有严格测试所有版本)
创建cmake-build-debug目录 , 后续 mysql 编译结果,以及启动后生成的文件都在这里
在 mysql 工程目录下面创建.vscode/settings.json文件
内容没啥好说的 , 都是指定目录及 boost 配置,其中WITH_DEBUG打开 debug 模式,会在 /tmp/debug.trace 生成 debug 信息
View-Command Palette-CMake: Configure执行后生成 cmake 配置
View-Command Palette-CMake: Build编译生成最终 mysql 相关命令
发现老版本编译很麻烦,各种报错 , mysql 5.7 代码量远超过 5.5, 只能硬着头皮看 5.7
首先初始化 my.cnf 配置,简单的就可以,共它均默认
初始化数据文件,非安全模式,调试用
由于用 vscode 接管 mysql, 所以需要配置.vscode/launch.json
然后点击run and debug mysqld
mysql 启动 , 看到输出日志无异常,此时可以用 mysql-client 连接
首先在 sql_parser.cc:5435 处打断点
mysql_parse是 sql 处理的入口,至于 tcp connection 连接先可以忽略
执行上述 sql 自动跳转到断点处,Step Into ,Step Over ,Step Out这些调试熟悉下即可
接下来分别调用主要函数:mysql_execute_command ,execute_sqlcom_select ,handle_query ,select-join-exec() ,Query_result_send::send_data ,Item::send ,Item_string:val_str ,Protocol_text::store ,net_send_ok
启动 mysql 时init_common_variables会初始化一堆变量,其中会调用set_server_version生成版本信息,修改这个就可以
看好条件编译的是哪块,修改即可,重新CMake: Build编译再运行
这里不做过深分析,简单讲
sql_yacc.cc函数PTI_function_call_generic_ident_sys解析 sql, 识别出version()是一个函数调用
find_native_function_builder查找 hash 表,找到对应version函数注册的单例工厂函数
mysql 启动时调用item_create_init将这些函数 builder 注册到 hash 表native_functions_hash
MySQL 代码太庞大 , 5.1 大约 100w 行,5.5 130w 行,5.7 以后 330w 行,只能挑重点读源码 。最近很多群里的人在背八股,没必要,有那时间学着调试下源码,读读多好
原文出处:
中国平安数据库打补丁怎么打上帝_无言
关注
Oracle数据库打补丁方法 原创
2022-04-29 17:54:42
? 1点赞
?
上帝_无言 ?
码龄5年
关注
本篇仅针对DB 12.1.0.2.0 版本12C 的Opatch工具打补丁来讲解
Oracle 补丁过程
一,全库备份 oracle
用户:
abcdef
密码:
123
数据库:
ruru
全库导出命令
exp abcdef/123@ruru file=E:\bak.dmp full=y
二,关闭实例,关闭进程,关闭监听器 。
【mysql补丁怎么检查 检查mysql版本】1.开始菜单搜索,打开Sqlplus, 输入 /as sysdba 登录
2.执行 shutdown immediate 关闭数据库实例,
3.停止相关服务,打开任务管理器,服务列,找到oracle相关服务右键停止
?
4.停止相关进程,打开任务管理器,进程列 , 找到相关进程 结束进程 。
?
三 , 备份Opatch, 解压补丁 , 打补丁 。
1.opatch 文件夹备份 , 防止错误 , 可以恢复 。
?
2.开始菜单搜索 命令提示符, 右键 以管理员身份运行,
进入到 %ORACL_HOME%\APP\product\12.1.0\dbhome_1\OPatch
?
再进入相关补丁文件内 执行 …\opatch apply 命令执行打补丁过程
?
最后显示 Successed 即为打补丁成功 。
四,启动相关进程,启动oracle, 更新sql.
1.启动之前关闭的服务器 服务列中相关服务,点击开始,
?
2.使用sqlplus连接数据库,启动实例
开始菜单搜索,打开Sqlplus, 输入 /as sysdba 登录
3.使用 startup 命令启动数据库实例 。
4. 使用 PL/SQL 测试是否可以正常连接数据库,
如果连接失败 运行打开PDB, 如果正常连接 则不需要 。
alter pluggable database all open;
5.更新注册信息 到数据表,
在sqlPlus中 执行该命令
@?/rdbms/admin/dpload.sql
最后结果出现如下图,即为打补丁成功 。
?
文章知识点与官方知识档案匹配
MySQL入门技能树使用数据库 创建和删除数据库
29055 人正在系统学习中
打开CSDN,阅读体验更佳
Windows环境下给oracle打补丁详细教程_范微的博客
检测当前数据补丁安装情况 。C:\WINDOWS\system32opatch lsinventory Invoking OPatch 11.1.0.6.6 Oracle 中间补丁程序安装程序版本 11.1.0.6.6 版权所有 (c) 2009, Oracle Corporation 。保留所有权利 。Oracle 主目录 : F:\app\mr_...
oracle滚动打补丁,使用Oracle Opatch打补丁_从一小姐的博客
1: MOS上下载对应的补丁(support.oracle.com); 2: 在打补丁前,有条件的情况下对数据库进行一次全备份; 检查数据库环境: 每个补丁的应用都有一定的环境,包含数据库版本,Opatch版本,我们通过命令opatch Isinventory来进行检查,操作如下:...
Oracle数据库如何打补丁
Oracle安装好后,还需要打上补丁,才能够稳定地运行的哦 。
mysql漏洞如何打补丁_【补充】Mysql数据库测试及使用环境搭建教程
一、背景介绍Metasploit就是一个漏洞框架 。它的全称叫做The Metasploit Framework,简称叫做MSF 。Metasploit作为全球最受欢迎的工具,不仅仅是因为它的方便性和强大性 , 更重要的是它的框架 。它允许使用者开发自己的漏洞脚本 , 从而进行测试 。那么如何利用Metasploit(msf)进行Mysql弱口令爆破呢?如何搭建Sql靶机呢?接下来让我们一起学习!二、资...
继续访问
Oracle 11.2.0.4打补丁的方法_蚁库的博客
Oracle 11.2.0.4打补丁的方法 一、概述 本文主要介绍了Oracle 11.2.0.3 升级到11.2.0.4的补丁的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 二、打补丁 所需补丁及高版本opatch...
oracle数据库如何打补丁_DoveFeng的博客
为解决手工方式的缺陷,从9.2版开始,Oracle公司设计实现了个别补丁安装管理工具opatch.opatch使用一个称为inventory的系统数据结构(严格说是与oui共享inventory),集中管理所有已安装的个别补丁;个别补丁的安装和卸载都使用opatch命令完成,冲突检测...
Oracle补丁就该这么打
Oracle补丁就该这么打 原创 金震宇 IT那活儿 今天 [ 补丁集下载 ] oracle打补丁最常见原因为bug修复或安全迎检漏洞修复需要打到最新的补丁版本 。下文的经验之谈是基于rac环境 , 19c版本的最新补丁集的过程分享 。可以参考《Assistant:Download Reference for Oracle Database/GI Update, Revision, PSU,SPU(CPU), Bundle Patches, Patchsets and Base Releases (Doc I
继续访问
最新发布 Oracle rac 19C(19.16)补丁升级(OPatch 34130714)操作过程
在升级完成后本次操作有个实例未能启动 , 手动通过集群命令进行拉起此告警实例 。6.完成数据字典更新后关闭实例进行OJVM升级,再次进行数据字典升级 。6.完成数据字典更新后关闭实例进行OJVM升级,再次进行数据字典升级 。2.两个节点grid、oracle替换OPatch工具 。2.两个节点grid、oracle替换OPatch工具 。2.两个节点备份grid、oracle家目录 。2.两个节点备份grid、oracle家目录 。5.节点一所有实例,进行数据字典更新 。5.节点一所有实例,进行数据字典更新 。
继续访问
记录Oracle rac 19C(19.15)补丁升级(OPatch 33803476)操作过程
提示以下是本篇文章正文内容,下面案例可供参考 。
继续访问
Windows环境下给oracle打补丁详细教程
Windows环境下给oracle打补丁详细教程
继续访问
?
oracle 打补丁
oracle 11G补丁安装
继续访问
小白入门(九):Oracle数据库打补丁操作过程
文章目录前言简要介绍:一.OPatch 更新:1、检查目前补丁包版本($ORACLE_HOME下):2、创建目录备份当前Opatch工具:3、传输压缩包并解压Opatch工具至$ORACLE_HOME下:二、应用PSU补丁:1、Oraclehome下创建目录解压PSU补?。?、执行oracle 中间补丁安装程序:3、停止监听以及数据库:4、应用补?。喝⑹菘庥τ貌苟 。?、升级数据库数据字典、编译无效对象 :2、查看 PSU 更新信息3、opatch 检查:1、升级前检查是否有冲突1.1测试兼容性, 如果之
继续访问
oracle 补丁,Oracle补丁介绍一
【前言】保证数据库的稳定与安全运行是DBA的价值所在,Oracle Database本身也是一个软件,随着系统的使用场景和使用深度的增加一些原本没被发现的漏洞或BUG就会逐渐被发现 。所以成熟的IT企业,往往会定期对数据库进行安全检查和补丁的更新;【一】Oracle版本命名规则在进行Oracle更新补丁之前,先对Oracle的版本命名有个认识 。从9i之后,oracle版本命名规则定义如下:A.B.C...
继续访问
热门推荐 mysql[漏洞打补丁]小版本升级5.7.25到5.7.28
mysql[漏洞]小版本升级 事件背景 近日,公司进行安全扫描,发现mysql存在漏洞,高危漏洞编号为(CVE-2019-3822),此外还有多个中危,低危漏洞,目前mysql版本为5.7.25 解决方案 对mysql进行小版本升级到5.7.28,生产环境无法联网,用rpm 包离线安装,选择就地升级 。Mysql的两种升级方式 就地升级(In-place Upgrade) 关闭旧版本mys...
继续访问
?
Oracle打补丁步骤
1、登录MOS,在patchesupdates查找自己想要安装的补丁号或者bug code,下载补丁 。同时查阅readme,这里面写的是怎么安装补丁以及安装补丁的事项 。2、将下载好的zip文件传入要打补丁的主机 。解压到一个文件夹里(可以是自己临时创建的一个文件夹PATCH_TOP_DIR , 但需要注意整个文件夹包括里面的文件的属主都修改为oracle) 3、关闭数据库...
继续访问
Oracle 11.2.0.4 RAC 手动打补丁
1 补丁介绍 GI补丁一般包括DB补?。诖騁I补丁过程中会自动打上DB补丁 。也就是说GI版本=DB版本 比如下载GI补丁包p26635745_112040_Linux-x86-64,解压其实里面包括22502505、26392168、26609929三个目录,而DB补丁包p26392168_112040_Linux-x86-64.zip解压后就是26392168目录 1. 1 下载补丁和...
继续访问
oracle滚动打补丁,ORACLE打补丁的方法和案例
打补丁使用opatch工具 , 具体操作方法以补丁包中的readme.txt为准1.查看某个补丁是否安装的方法(下面命令不行就升级opatch)$ORACLE_HOME/OPatch/opatchlsinventory2.下载补丁包查看当前opatch版本 。Oracle 11.2.0.1.0自带的opatch版本是11.1.0.6.6 。补丁包的README.html中有描述该补丁或PSU需要的最低版本...
继续访问
?
oracle滚动打补丁,Oracle打补丁过程补丁7272646
redhat enterprise linux 6.1安装oracle 11.1.0.6.0,会提示错误:OUI-18001:the operating systemRedHat enterprise linux 6.1安装Oracle 11.1.0.6.0会提示错误:OUI-18001:the operating system 'Linux
mysql补丁怎么检查的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于检查mysql版本、mysql补丁怎么检查的信息别忘了在本站进行查找喔 。
推荐阅读
- 新媒体如何提高星级,提升新媒体内容质量的方法
- 安卓javaflutter,安卓版手游免费下载
- css点击一个元素颜色切换,css中点击后变色且不消失
- 手机怎样录屏抖音直播,抖音如何手机录屏直播
- 包含c语言int函数格式的词条
- jquery实现checkbox级联选择的简单介绍
- python如何直接调用高德api,python调用地图
- 直播伴侣镜像开播,直播伴侣镜像是反的怎么调
- go语言安全策略 go 语言 gui