由于我昨天装的版本没有debug,所以今天又卸载重装来尝试debug版本,同时也遇到了一些错误,但好在都解决了。
下面一起来看一下这些错误吧。
Ubuntu/Debian使用deb软件包来管理软件,apt-get是Ubuntu/Debian的deb软件包管理工具,它的最底层调用dpkg包管理程序,通过apt-get工具可使我们很好地解决软件包的依赖关系,apt-get会从该软件库安装各种软件包,apt-get update 更新软件包信息库。
可能会有一个疑惑,我们不仅看到了apt-get,我们也看到了apt了,这是怎么回事呢?
最常用的 Linux 包管理命令都被分散在了 apt-get、apt-cache 和 apt-config 这三条命令当中。
apt命令的引入就是为了解决命令过于分散的问题,在使用 apt 命令时,用户不必再由 apt-get 转到 apt-cache 或 apt-config,而且 apt 更加结构化,并为用户提供了管理软件包所需的必要选项。
可以简单理解为,apt = apt-get、apt-cache 和 apt-config 中最常用命令选项的集合。
Centos使用的就是rpm或者yum包管理工具了,使用都大同小异,我们有时候按照别人的教程解决问题,但是我们的环境不一样,那么可以根据大方向思路来进行灵活处理。
Ubuntu如何源码编译mysql请见我的上一篇文章:https://blog.csdn.net/qq_43779149/article/details/127653658?spm=1001.2014.3001.5501
按照上述流程编译安装mysql是没有问题的,只不过预编译中间可能会存在一些包依赖的问题,所以可能又要重新去安装一下包,但有一个问题是,可能表面上说是缺少这一个包,但是实际上是缺少对应的依赖,所以就会存在一系列“我到底应该安装哪个包”的问题。
一开始预编译错误,然后才发现是缺少相应的包。
sudo apt-get update
sudo apt install 你自己想要安装的包
如果上述不行,比如提示你缺少A,你按照上述更新后安装A仍然不行,那么可能原因是你应该安装A对应的依赖B,这就需要你花时间去找了。
sudo apt-get install libssl-dev
sudo apt-get install libncurses-dev
sudo apt-get install pkg-config
这样后再去cmake就可以啦!
接下来就去正式编译啦!
今天试的时候,发现了确实是上次不是debug版本,蛛丝马迹如下:
这是第一次安装的:
这是今天安装的:
所以说啊,cmake中的-DWITH_DEBUG=1是最关键的,它的作用是开启DBUG,如果忘记了就是使用的默认的,那就不能debug,那么就不能使用gdb调试呜呜呜!
还有就是,执行cmake后看一下相应的信息,学会排查错误!!
安装了几个小时终于好啦!!!
select version();