精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

聊聊 MySQL8.0 源碼編譯和 Clion 調試

數據庫 MySQL
如果Clion的CMake執行成功后,就會出現對應的 Run / Debug Configurations 選項,里邊會有名稱為mysqld的選項,它就是 MySQL Server 啟動的選項。可以先用該選項執行 MySQL 數據目錄的初始化操作,生成對應的配置文件和用戶名密碼。

?操作系統環境

我把個人的臺式機重裝了 Ubuntu 20.04 ,內核版本是 5.13.0-44-generic,內存16G,磁盤240G,有關依賴的編譯工具版本如下所示。

圖片

相關的安裝命令是從 PolarDB-通過編譯源碼安裝部署文檔上來的,專門適配于 Ubuntu 20版本,Centos的版本可以具體去它文檔中查看:

安裝GCC7
apt install -y gcc-7 g++-7
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 \
--slave /usr/bin/g++ g++ /usr/bin/g++-7
update-alternatives --config gcc
gcc --version
g++ --version

# 安裝依賴
apt install make automake cmake git bison libaio-dev libncurses-dev libsasl2-dev libldap2-dev libssl-dev pkg-config

MySQL 源碼下載

我們選擇最新的 8.0.28版本,可以去 https://dev.mysql.com/downloads/mysql/ 直接下載帶 Boost 第三方庫依賴的源碼。

圖片

Boost 是一個功能強大、構造精巧、跨平臺、開源并且完全免費的 C++ 程序庫,可以認為是半個C++標準庫。MySQL 的代碼依賴 Boost庫,所以直接下載一個攜帶Boost庫的源碼比較省心,不需要再去下載對應的Boost庫。

編譯命令

我們首先需要使用 cmake 進行編譯,可以直接使用命令行,也可以用 Clion 開發后,配置對應的cmake編譯配置。

圖片

其中,有關 CMake Options 的部分參數如下所示:

-DWITH_BOOST=~/work/c++/mysql-8.0.28/boost -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/home/homer/build -DMYSQL_DATADIR=/home/homer/build/data -DSYSCONFDIR=/home/homer/build -DMYSQL_UNIX_ADDR=/home/homer/build/data/mysql.sock -DMYSQL_MAINTAINER_MODE=false

其中比較重要的有:

  • DWITH_BOOST: 指定 boost 路徑,可以直接指向源碼文件夾下的boost文件夾;
  • DCMAKE_BUILD_TYPE: 表示是debug,方便后續代碼調試;
  • DCMAKE_INSTALL_PREFIX:  表示編譯狀態的路徑,選擇源碼文件夾之外的一個自建的build文件夾
  • DMYSQL_DATADIR:表示MySQL默認的數據目錄,選擇build文件夾下的data文件

然后執行命令進行編譯,大概會花費數分鐘的時間,并且可能會出現各類錯誤和問題。問題和錯誤會在本文后邊進行記錄。

Clion 調試

如果Clion的CMake執行成功后,就會出現對應的 Run / Debug Configurations 選項,里邊會有名稱為mysqld的選項,它就是 MySQL Server 啟動的選項。可以先用該選項執行 MySQL 數據目錄的初始化操作,生成對應的配置文件和用戶名密碼。然后再使用該選項來啟動 MySQL Server。兩個操作對應的參數不同。

圖片

第一步初始化數據目錄時,也需要先創建對應的用戶。

# 創建 MySQL 用戶組和 MySQL 用戶
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

然后使用 clion 的 mysqld 執行選項,輸入的 Program arguments 如下所示:

--basedir=/home/homer/build --datadir=/home/homer/build/data --lower_case_table_names=0 --initialize-insecure --user=mysql

其中 --initialize-insecure 表示非安全的初始化,可以設置無密碼的用戶。然后需要給對應的文件夾添加讀寫和執行權限。

chmod -R 777 /home/homer/build/data

初始化后,就可以繼續使用 clion 的 mysqld 執行選項來啟動 MySQL了。輸入的 Program arguments 如下所示:

--basedir=/home/homer/build --datadir=/home/homer/build/data --lower_case_table_names=0 --user=mysql

圖片

然后我們可以在 /home/homer/build/bin 目錄下執行 ./mysql -uroot -h127.0.0.1 -P3306 -p來使用客戶端連接 MySQL Server。登錄時無需密碼,直接回車。

圖片

然后就可以看到我們在clion中設置斷點的代碼邏輯被攔截,下面我們就可以進行調試和代碼閱讀了。

問題記錄

在整個過程中,特別是編譯階段遇到了很多問題,這里也簡單記錄一下,相信不同的同學進行這個過程中都會遇到不同的問題,大家耐心解決。

1.default.cfg不存在

編譯時會有如下報錯:

CMake Error: File /home/homer/work/c++/mysql-8.0.28/router/src/harness/tests/data/logger.d/default.cfg does not exist.
CMake Error at router/cmake/testing.cmake:211 (CONFIGURE_FILE):

可以在 cmake配置文件中找到如下片段,直接刪除。

CONFIGURE_TEST_FILE_TEMPLATES(${CMAKE_CURRENT_SOURCE_DIR}/data
"tests-good-1.cfg.in;tests-good-2.cfg.in;tests-start-1.cfg.in")
SET(TEST_FILES
logger.cfg
magic-alt.cfg
tests-bad-1.cfg
tests-bad-2.cfg
tests-bad-3.cfg
)

2.編譯警告作為錯誤處理

在編譯過程中,發現編譯器會把warning當做error處理,導致整個編譯過程失敗。具體報錯如下所示。

cc1plus: all warnings being treated as errors

經過搜索最終在 https://dev.mysql.com/doc/mysql-sourcebuild-excerpt/8.0/en/compilation-problems.html 文檔中找到了對應的解決版本,需要將DMYSQL_MAINTAINER_MODE設置為false,否則就會導致編譯器將warning作為error處理。

嵌入可以理解為一種組合或者代理模式的自動語法糖。

3.編譯cache

編譯異常后,需要刪除對應的 cmake cache 后再次進行編譯,否則每次都會讀取緩存進行相同的報錯。

責任編輯:武曉燕 來源: 程序員歷小冰
相關推薦

2023-03-29 08:13:48

MySQL檢索成本

2013-05-28 10:52:07

Android開發移動開發移動應用

2022-10-10 08:01:08

MySQL字典表

2021-06-03 19:13:06

MySQLJson數據

2018-11-28 15:00:58

MySQLGROUP BY索引

2023-01-02 08:20:14

MySQL數據庫

2017-03-27 15:15:43

Hive源碼編譯

2011-03-08 10:18:18

Visual StudMongoDB

2022-08-29 08:01:01

MySQL配置Windows

2021-10-17 19:52:40

Python:源碼編譯器

2021-10-19 10:26:31

MySQL.MySQLJSON

2021-02-02 21:50:31

MySQL 8.0ExcelMySQL 5.7

2021-05-31 19:50:04

MySQL自增鎖InnoDB

2023-03-28 07:12:21

開源IoT平臺源碼

2024-03-25 07:30:03

MySQL數據庫SQL日志

2021-09-08 06:51:53

CountDownLa閉鎖源碼

2024-08-05 10:13:59

MySQL大數據優化

2025-02-14 10:03:40

2010-06-02 13:05:14

Sendmail 安裝

2020-12-31 05:35:53

MySQL 8.0MySQL 5.7JSON
點贊
收藏

51CTO技術棧公眾號

国产精品国产a级| 国产欧美丝祙| 日韩一区二区中文字幕| 日韩久久久久久久久久久久| 亚洲欧洲视频在线观看| 欧美综合国产| 久久久精品美女| aaaaa一级片| av成人在线网站| 福利二区91精品bt7086| 中文字幕在线亚洲三区| 天天操天天干天天爱| 久久99精品网久久| 26uuu另类亚洲欧美日本老年| jizz18女人高潮| 欧美大奶一区二区| 欧美丰满嫩嫩电影| 黄色一级在线视频| 韩国中文字幕在线| 久久中文娱乐网| 97自拍视频| 中文无码精品一区二区三区 | 国产人妻777人伦精品hd| 成年人视频在线看| 97精品国产露脸对白| 91久久久国产精品| 无码人妻一区二区三区免费| 伊人久久大香线蕉av超碰演员| 中文字幕最新精品| 女~淫辱の触手3d动漫| a看欧美黄色女同性恋| 欧美日韩亚洲综合在线 | 国产午夜精品美女视频明星a级| 女王人厕视频2ⅴk| 亚州欧美在线| 精品视频1区2区| 爆乳熟妇一区二区三区霸乳| 日韩精品美女| 香蕉久久一区二区不卡无毒影院| 干日本少妇视频| av在线中文| 国产亚洲一区二区在线观看| 精品亚洲一区二区三区四区五区高| av中文字幕免费| 狠狠色丁香婷婷综合| 国产精品美女www爽爽爽视频| 中文字幕激情小说| 日韩香蕉视频| 午夜精品99久久免费| 久久久久无码国产精品不卡| 一区二区三区毛片免费| 久久精品国产99国产精品澳门| 国产精品www爽爽爽| 国产欧美亚洲精品a| 亚洲美女中文字幕| 大又大又粗又硬又爽少妇毛片| 国产精品17p| 精品国产制服丝袜高跟| 少妇熟女视频一区二区三区 | 国产福利91精品一区二区三区| 91精品视频在线看| 国产乱淫片视频| 国产老肥熟一区二区三区| 成人女保姆的销魂服务| 国产日韩欧美一区二区东京热| 国产精品一区二区久久不卡| 91偷拍精品一区二区三区| 风流少妇一区二区三区91| 成人午夜精品一区二区三区| 国产一区二区三区四区五区在线 | 波多野结衣作品集| 深夜视频一区二区| 欧美日本免费一区二区三区| 欧美国产日韩另类| 97一区二区国产好的精华液| 亚洲国产91精品在线观看| 一起草在线视频| 久操成人av| 中文字幕欧美国内| 日韩黄色免费观看| 99精品免费视频| 国产精品aaa| 国产麻豆免费观看| 成人a区在线观看| 欧美一区二区综合| 国内精品久久久久国产| 亚洲永久免费av| 国产美女三级视频| 电影中文字幕一区二区| 亚洲第一中文字幕在线观看| 男女做爰猛烈刺激| 国产精品久久久久久久久久10秀| 欧美激情视频网址| 69xxxx国产| 国产精品影视在线观看| 快播日韩欧美| 成人影院在线观看| 色综合天天视频在线观看| 午夜久久福利视频| 欧美电影在线观看免费| 中文字幕精品在线| 九九九国产视频| 美国av一区二区| 丁香婷婷久久久综合精品国产| 美女毛片在线看| 一区二区三区91| 中文字幕永久视频| 精品国产一区二区三区不卡蜜臂 | 三级av在线免费观看| 国产农村妇女毛片精品久久莱园子| 国产精品亚洲аv天堂网| 国产suv一区二区| 国产日韩欧美综合在线| 91黄色在线看| 国产激情综合| 伊人久久久久久久久久| 久久久久99精品成人片三人毛片| 国产伦精品一区二区三区在线观看| 欧美一区2区三区4区公司二百| 欧美性video| 777久久久精品| 久久精品无码一区| 日韩亚洲国产欧美| 波多野结衣久草一区| 日本成人网址| 欧美最猛性xxxxx直播| 亚洲精品乱码久久久久久久| 午夜精品av| 91久久国产精品91久久性色| av在线播放网| 色婷婷av一区二区三区软件| 成人做爰www看视频软件| 婷婷久久国产对白刺激五月99| 日韩女在线观看| 日韩欧美电影在线观看| 亚洲国产色一区| 亚洲欧美综合视频| 国产精品第十页| **亚洲第一综合导航网站| 黄网站免费在线播放| 欧美人妇做爰xxxⅹ性高电影| 免费看裸体网站| 日韩高清在线一区| 日韩在线三级| 国外成人福利视频| 在线观看精品自拍私拍| 中文字幕人妻一区二区三区视频| 国产三级一区二区| 国产第一页视频| 国产亚洲精品美女久久久久久久久久| 91高潮在线观看| 青青国产在线| 在线观看欧美精品| 日本黄色激情视频| 精品一区中文字幕| av电影一区二区三区| 美女精品久久| 欧美激情视频网站| 午夜黄色小视频| 色8久久精品久久久久久蜜| 日韩av在线看免费观看| 日韩av在线发布| 亚洲一区二区三区四区中文| 在线观看亚洲精品福利片| 久久久精品国产网站| www.四虎在线观看| 精品人伦一区二区三区蜜桃网站 | 精品国产欧美日韩| 国产欧美中文字幕| 91黄色在线| 精品sm在线观看| 天天干在线播放| 欧美国产精品一区| 久久综合在线观看| 亚洲欧洲一区| 亚洲 国产 欧美一区| 国产中文欧美日韩在线| 久久久久久国产免费| 日韩欧美电影在线观看| 欧美日韩精品欧美日韩精品一综合| 中文字幕五月天| 97久久精品人人澡人人爽| 少妇性l交大片| 小小影院久久| 久久av一区二区三区漫画| 97精品国产综合久久久动漫日韩| 九九九久久国产免费| 三级毛片在线免费看| 在线播放91灌醉迷j高跟美女| 日韩黄色三级视频| 国产精品亲子乱子伦xxxx裸| 国产xxx在线观看| 日韩精品午夜视频| 国产www免费| 日韩av二区| 国产一区二区不卡视频在线观看| 国产69精品久久久久9999人| 国产+人+亚洲| 婷婷在线视频| 亚洲美女动态图120秒| 国产美女无遮挡永久免费| 欧美日韩在线影院| 久久r这里只有精品| 国产亚洲成av人在线观看导航| 在线免费黄色小视频| 日本美女一区二区三区视频| 日本中文字幕亚洲| 日韩在线第七页| 久精品国产欧美| 久久久久久亚洲精品美女| 日韩免费在线看| 超碰高清在线| 欧美高清在线播放| 色的视频在线免费看| 亚洲女人天堂色在线7777| 亚洲精品一级片| 8x8x8国产精品| 影音先锋黄色网址| 色悠悠亚洲一区二区| 日本特黄特色aaa大片免费| 亚洲视频免费在线观看| 久久精品999| 欧洲一区二区在线| 久久99国产精品久久99大师| 5566av亚洲| 97精品资源在线观看| 国产精品成人aaaaa网站| a天堂资源在线| 欧美另类在线观看| 黄色精品免费看| 色久欧美在线视频观看| 国产资源在线播放| 国产视频精品一区二区三区| 开心激情综合网| 欧美电影免费提供在线观看| 国产婷婷一区二区三区久久| 欧美精三区欧美精三区| 一区二区三区亚洲视频| 欧美午夜精品一区| 老熟妇一区二区三区啪啪| 在线欧美日韩国产| 波多野结衣电车痴汉| 在线视频你懂得一区二区三区| 精品久久久久久久久久久国产字幕| 欧美午夜激情小视频| 天天干在线播放| 在线观看视频一区| 中文字幕久久久久| 欧美日韩一本到| 99久久精品免费看国产交换| 6080国产精品一区二区| 国产三级自拍视频| 精品精品国产高清a毛片牛牛| 女人18毛片一区二区三区| 欧美精品一区男女天堂| 日本高清视频在线| 国产视频精品xxxx| 成人影院免费观看| 中文字幕日韩欧美| 免费在线看a| 欧美另类高清videos| free性护士videos欧美| 欧美在线视频在线播放完整版免费观看| 欧美激情网站| 秋霞av国产精品一区| 本网站久久精品| 亚洲尤物视频网| 露出调教综合另类| 午夜视频久久久| 亚洲精品极品少妇16p| 亚洲色欲久久久综合网东京热| 欧美另类亚洲| 每日在线更新av| 日韩va欧美va亚洲va久久| 国产精品自在自线| 成人a区在线观看| a级在线免费观看| 日韩码欧中文字| 国产中文字字幕乱码无限| 色综合天天综合色综合av| 亚洲无码精品国产| 欧美草草影院在线视频| 蜜芽tv福利在线视频| 超在线视频97| 神马电影网我不卡| 91在线免费网站| 免费看成人吃奶视频在线| 一本色道久久99精品综合| 亚洲午夜极品| 国产嫩草在线观看| 成人h动漫精品一区二区| 超碰人人人人人人人| 亚洲国产va精品久久久不卡综合| 欧美成人精品网站| 精品奇米国产一区二区三区| 爱久久·www| 韩国欧美亚洲国产| 香蕉成人在线| 欧美在线视频二区| 欧美日韩爆操| 亚洲欧美日韩综合网| 成人精品在线视频观看| 网爆门在线观看| 天天av天天翘天天综合网色鬼国产 | 美国一区二区| 在线观看一区二区三区三州| 99综合在线| 性一交一黄一片| 国产精品久久777777| 精品免费囯产一区二区三区| 日韩一级视频免费观看在线| av男人的天堂在线| 欧美中文字幕在线视频| 亚洲码欧美码一区二区三区| 亚洲欧美日韩精品综合在线观看| 性色av一区二区怡红| 午夜影院福利社| 国产精品久久久久国产精品日日| 亚洲综合久久网| 日韩av最新在线观看| 青草影视电视剧免费播放在线观看| 国产日产久久高清欧美一区| 国产精品免费不| www国产黄色| 不卡一区二区在线| 国产一级做a爰片在线看免费| 911精品产国品一二三产区| 成a人片在线观看www视频| 欧洲成人在线观看| 精品精品国产三级a∨在线| 天天做天天躁天天躁| 加勒比av一区二区| 日本 欧美 国产| 欧美丰满高潮xxxx喷水动漫| 日本在线观看www| 国产在线日韩在线| 97精品国产一区二区三区| 中文字幕视频在线免费观看| 2021国产精品久久精品| 一级黄色免费网站| 国产视频在线一区二区| 午夜伦理福利在线| 久久婷婷开心| 久久久久.com| 极品人妻videosss人妻| 欧美在线免费播放| 国产精品一级伦理| 国产精品欧美在线| 色婷婷综合网| 精品亚洲视频在线| 一区二区激情小说| 亚洲经典一区二区三区| 欧美激情视频在线| 欧美一区 二区| 日韩av在线综合| 欧美国产日韩在线观看| 亚洲一区二区天堂| 欧美成人小视频| 国产精品xxx在线观看| 青青草原av在线播放| 国产亚洲欧美日韩在线一区| 中文字幕一区二区久久人妻| xxx成人少妇69| 亚洲五码在线| 浮妇高潮喷白浆视频| 国产肉丝袜一区二区| 国产一区二区自拍视频| 欧美华人在线视频| 亚洲精品动态| 国产欧美一区二| 亚洲国产成人高清精品| 日韩av地址| 成人午夜在线观看| 亚洲人人精品| 欧美性猛交xxxx乱| 欧美一区二区三区免费视频 | 久久99久久| 91精品在线影院| 国产精品入口| 杨幂一区欧美专区| 亚洲人成伊人成综合图片| 波多野结衣天堂| 亚洲黄网站在线观看| 天天干天天干天天干| 国产精品精品一区二区三区午夜版| 国产精品99久久| 国产精品福利导航| 欧美日韩视频在线观看一区二区三区| 亚洲wwwww| 日本一区二区三区www| 国产精品一区二区91| 日韩色图在线观看| 成人97在线观看视频| 国产欧美日韩| 日本一区二区免费视频| 欧美日韩视频在线观看一区二区三区| 激情网站在线| 亚洲国产精品综合| 99精品久久99久久久久| 国产欧美日韩成人|