mysql源码编译运行

1.安装vs

需要工作负荷:
使用C++的桌面开发
Visual Studio扩展开发

需要单个组件:
SDK、库和框架(满足cmake版本需求)
用于Windows的C++ CMake工具

2.下载boost并解压到mysql源码目录下。
http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.zip

3.安装bison并添加“C:\Program Files (x86)\GnuWin32\bin”目录到path环境变量
https://sourceforge.net/projects/gnuwin32/files/bison/2.4.1/bison-2.4.1-setup.exe/download

4.使用CMake编译mysql源码
https://cmake.org/
注意设置BOOST_INCLUDE_DIR

5.打开工程,将mysqld设为启动项目,并添加启动参数:--console --initialize(图中为网上一些文章的错误版本,请以文字版为准)后运行。

6.记录下如下日志中的初始用户名密码,修改启动参数为:--console
2022-10-11T03:06:29.880791Z 1 [Note] A temporary password is generated for root@localhost: j%jX/fw.o5(r

7.报错解决

1)VS报错:C2001
字符编码不同导致的,修改方法是将报错的文件用Notepad++打开,选择UTF-8-BOM保存。

2)mysql报错:Assertion failed: 0, file C:\VS\mysql-5.7.38\sql\mysqld.cc, line 4396
修改对应文件对应代码将“assert(0);”改为“assert(1);”

3)mysql报错:Could not create or access the registry key needed for the MySQL application to log to the Windows EventLog. Run the application with sufficient privileges once to create the key, add the key manually, or turn off logging for that application.
以管理员身份运行VS

4)mysql报错:2022-10-11T03:13:04.190584Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.

删除data目录(这个目录的位置会变更,我的版本目录为"C:\VS\mysql-5.7.38\release\sql\data")。已经完成初始化的删除--initialize启动参数。

注:有些mysql报错不在控制台,在错误日志文件下(错误日志在data目录下,这个目录的位置会变更,我的版本日志文件为"C:\VS\mysql-5.7.38\release\sql\data\DELL_CHANEDI.err")

8.运行mysql项目生成mysql.exe

 

附:可能遇见的问题
1.SSL version must be at least 1.1.1
下载OpenSSL(version>=1.1.1):https://slproweb.com/products/Win32OpenSSL.html
注意不要下载light版,下载msi版本一路安装就好了。
注意不要下载3.x版本。

 

参考资料:https://huaweicloud.csdn.net/63357367d3efff3090b57385.html?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-5-125703640-blog-125343062.t0_edu_mix&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-5-125703640-blog-125343062.t0_edu_mix&utm_relevant_index=6

 

posted @ 2022-10-11 11:20  爱上飞飞的面码  阅读(409)  评论(0编辑  收藏  举报