当前位置:   article > 正文

最新版 mysql8.0.25 在window7 64位系统上编译和运行_mysqld: cannot load component from specified urn:

mysqld: cannot load component from specified urn: 'file://component_referenc

1.  下载mysql 源码8.0.25的 windows 版本

https://dev.mysql.com/downloads/mysql/

 

2. 下载依赖库 并安装以下库,注意安装目录不要有空格

下载 bison-2.4.1-setup.exe  并安装

到 http://gnuwin32.sourceforge.net/packages/bison.htm  
最终下载链接  https://jaist.dl.sourceforge.net/project/gnuwin32/bison/2.4.1/bison-2.4.1-setup.exe

 

下载 boost   https://www.boost.org/users/history/  不需要安装

下载文件名为 boost_1_73_0.tar.gz

下载  openssl 并安装

http://slproweb.com/products/Win32OpenSSL.html

 Win64OpenSSL-1_1_1k.exe

下载 CMAKE 并安装

cmake-3.19.8-win64-x64

 

3. Make  VS2017 工程

以下步骤参考了官方文档

https://dev.mysql.com/doc/internals/en/cmake-howto-quick-debug-configuration.html

 

 

解压 mysql-8.0.25.zip 到

D:\soft\mysql\source\mysql-8.0.25

把boost_1_73_0.tar.gz 放到 D:\soft\mysql\source\boost_1_73_0.tar.gz中

 

修改 D:\soft\mysql\source\mysql-8.0.25\CMakeLists.txt 注释掉操作系统检查

从33 行到44行 全部注释掉

 

 

创建目录 D:\soft\mysql\source\mysql-8.0.25\bld_debug

进入 D:\soft\mysql\source\mysql-8.0.25\bld_debug 目录

执行以下命令

cmake.exe ..  -G "Visual Studio 15 2017 Win64"  -DWITH_BOOST="D:\soft\mysql\source\boost_1_73_0.tar.gz" -Wno-dev

 

4. 编译

打开

 

 

生成项目解决方案 这很费CPU和内存

这里会有很多意向不到的错误:

1. 在有些 测试文件(以 test开头)中,尤其带有中文的文件,具体哪个文件忘记截图了 需要用NODEPADE++ 打开把文件重新保存为 UTF-8 加BOM 格式 

2. 有一个编译错误 中需要添加  #include <string.h>

3. 如果你发现 好多以下错误

我的解决方法(零时)是 修改 

D:\soft\mysql\source\mysql-8.0.25\storage\innobase\include\ut0mutex.h

 

5. 初始化数据库

找到mysqld(mysqld项目是mysql的启动项目,main函数也在其中),右击点到属性,添   --console  --initialize-insecure  ,然后调试运行

 

会生成

D:\soft\mysql\source\mysql-8.0.25\bld_debug\data

 

 

然后  以以下参数 运行mysqld ,否则无法调试

--console --no-monitor

如果发现以下错误

mysqld: Can't open shared library 'D:\soft\mysql\source\mysql-8.0.25\bld_debug\lib\plugin\component_reference_cache.dll' (errno: 126 找不到指定的模块。)
mysqld: Cannot load component from specified URN: 'file://component_reference_cache'.

拷贝
D:\soft\mysql\source\mysql-8.0.25\bld_debug\plugin_output_directory\Debug\component_reference_cache.dll 到  lib\plugin\component_reference_cache.dll'

如果发现mysqld 直接退出请修改以下文件内容

 

 

6. 访问数据库,生成的数据库密码默认为空,直接回车就行

D:\soft\mysql\source\mysql-8.0.25\bld_debug\runtime_output_directory\Debug\mysql.exe -hlocalhost -P3306 -uroot -p

 

如果发现以下错误

mysql> show databases;
ERROR 1449 (HY000): The user specified as a definer ('mysql.infoschema'@'localhost') does not exist
 

 

请执行以下脚本,注意脚本会把密码修改为 123456

alter user 'root'@'localhost' identified with mysql_native_password by '123456';
update mysql.user set host='%' where user='root';

CREATE USER 'mysql.infoschema'@'localhost' IDENTIFIED BY '123456';
grant all privileges on *.* to 'mysql.infoschema'@'localhost';
flush privileges;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/136925
推荐阅读
相关标签
  

闽ICP备14008679号