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

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

mysql怎么看代碼 MySQL查詢代碼

mysql數(shù)據(jù)庫如何查看創(chuàng)建表的代碼

采用命令show create table table_name即可查看MySQL數(shù)據(jù)庫表的建表語句。

十余年的東方網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整東方建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“東方網(wǎng)站設(shè)計(jì)”,“東方網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

新手如何調(diào)試 MySQL?看這一篇就夠了

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

調(diào)試過程參考 macOS VSCode 編譯調(diào)試 MySQL 5.7[2]

內(nèi)部 Item 對象參考 從SQL語句到MySQL內(nèi)部對象[3]

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

vscode 插件:

mysql 源碼:

補(bǔ)?。? MySQL = 8.0.21 需要對 cmake/mysql_version.cmake 文件打補(bǔ)丁 (沒有嚴(yán)格測試所有版本)

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

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

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

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

View - Command Palette - CMake: Build 編譯生成最終 mysql 相關(guān)命令

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

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

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

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

然后點(diǎn)擊 run and debug mysqld

mysql 啟動(dòng),看到輸出日志無異常,此時(shí)可以用 mysql-client 連接

首先在 sql_parser.cc:5435 處打斷點(diǎn)

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

執(zhí)行上述 sql 自動(dòng)跳轉(zhuǎn)到斷點(diǎn)處, Step Into , Step Over , Step Out 這些調(diào)試熟悉下即可

接下來分別調(diào)用主要函數(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

啟動(dòng) mysql 時(shí) init_common_variables 會(huì)初始化一堆變量,其中會(huì)調(diào)用 set_server_version 生成版本信息,修改這個(gè)就可以

看好條件編譯的是哪塊,修改即可, 重新 CMake: Build 編譯再運(yùn)行

這里不做過深分析,簡單講

sql_yacc.cc 函數(shù) PTI_function_call_generic_ident_sys 解析 sql, 識(shí)別出 version() 是一個(gè)函數(shù)調(diào)用

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

mysql 啟動(dòng)時(shí)調(diào)用 item_create_init 將這些函數(shù) builder 注冊到 hash 表 native_functions_hash

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

原文出處:

在mysql中如何查看和修改觸發(fā)器的代碼?請問各位大師,小弟先謝謝了?。。。。。。。。?/h2>

mysql中,觸發(fā)器只能查看,無法修改,如果要修改,只能刪除原有的觸發(fā)器,重新創(chuàng)建觸發(fā)器,以達(dá)到修改的目的。

工具:Navicat Premiu

步驟:

1、正確安裝Navicat Premiu,并確保連接到指定的數(shù)據(jù)庫。

2、以連接本地?cái)?shù)據(jù)庫localhost中的badkano數(shù)據(jù)庫為例。

3、點(diǎn)擊軟件上方的查詢-新建查詢。

4、先執(zhí)行SHOW TRIGGERS,查看數(shù)據(jù)庫中的觸發(fā)器。

5、如果要修改觸發(fā)器,需要?jiǎng)h除掉這個(gè)觸發(fā)器。執(zhí)行語句為:

DROP?TRIGGER?t_afterdelete_on_tab1;

6、然后重新創(chuàng)建即可。


網(wǎng)站名稱:mysql怎么看代碼 MySQL查詢代碼
瀏覽路徑:http://weahome.cn/article/dodijce.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部