真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

MYSQL補丁怎么看 查看mysql版本語句

新手如何調試 MySQL?看這一篇就夠了

前幾天看到姜老師的舊文 用 VSCode 編譯和調試 MySQL,每個 DBA 都應 get 的小技能[1] , 文末留了一個思考題,如何修改源碼,自定義版本,使得 select version() 輸出自定義內容

創(chuàng)新互聯(lián)建站堅信:善待客戶,將會成為終身客戶。我們能堅持多年,是因為我們一直可值得信賴。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。10多年網站建設經驗創(chuàng)新互聯(lián)建站是成都老牌網站營銷服務商,為您提供成都網站設計、網站制作、網站設計、H5開發(fā)、網站制作、品牌網站制作、小程序定制開發(fā)服務,給眾多知名企業(yè)提供過好品質的建站服務。

調試過程參考 macOS VSCode 編譯調試 MySQL 5.7[2]

內部 Item 對象參考 從SQL語句到MySQL內部對象[3]

源碼面前沒有秘密,建義對 DB 感興趣的嘗試 debug 調試。本文環(huán)境為 mac + vscode + lldb

vscode 插件:

mysql 源碼:

補丁: MySQL = 8.0.21 需要對 cmake/mysql_version.cmake 文件打補丁 (沒有嚴格測試所有版本)

創(chuàng)建 cmake-build-debug 目錄,后續(xù) mysql 編譯結果,以及啟動后生成的文件都在這里

在 mysql 工程目錄下面創(chuàng)建 .vscode/settings.json 文件

內容沒啥好說的,都是指定目錄及 boost 配置,其中 WITH_DEBUG 打開 debug 模式,會在 /tmp/debug.trace 生成 debug 信息

View - Command Palette - CMake: Configure 執(zhí)行后生成 cmake 配置

View - Command Palette - CMake: Build 編譯生成最終 mysql 相關命令

發(fā)現(xiàn)老版本編譯很麻煩,各種報錯,mysql 5.7 代碼量遠超過 5.5, 只能硬著頭皮看 5.7

首先初始化 my.cnf 配置,簡單的就可以,共它均默認

初始化數(shù)據(jù)文件,非安全模式,調試用

由于用 vscode 接管 mysql, 所以需要配置 .vscode/launch.json

然后點擊 run and debug mysqld

mysql 啟動,看到輸出日志無異常,此時可以用 mysql-client 連接

首先在 sql_parser.cc:5435 處打斷點

mysql_parse 是 sql 處理的入口,至于 tcp connection 連接先可以忽略

執(zhí)行上述 sql 自動跳轉到斷點處, Step Into , Step Over , Step Out 這些調試熟悉下即可

接下來分別調用主要函數(shù): 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 函數(shù) PTI_function_call_generic_ident_sys 解析 sql, 識別出 version() 是一個函數(shù)調用

find_native_function_builder 查找 hash 表,找到對應 version 函數(shù)注冊的單例工廠函數(shù)

mysql 啟動時調用 item_create_init 將這些函數(shù) builder 注冊到 hash 表 native_functions_hash

MySQL 代碼太龐大,5.1 大約 100w 行,5.5 130w 行,5.7 以后 330w 行,只能挑重點讀源碼。最近很多群里的人在背八股,沒必要,有那時間學著調試下源碼,讀讀多好

原文出處:

navicat for mysql破解補丁怎么用?

navicat15破解版,免費下載

鏈接:

提取碼: xydf

Navicat premium是一款數(shù)據(jù)庫管理工具,是一個可多重連線資料庫的管理工具,它可以讓你以單一程式同時連線到 MySQL、SQLite、Oracle、MariaDB、Mssql、及PostgreSQL 資料庫,讓管理不同類型的資料庫更加的方便。

如何查看mysql數(shù)據(jù)庫補丁版本

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補丁怎么看 查看mysql版本語句
本文路徑:http://weahome.cn/article/ddcdiid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部