ubuntu eclipse CDT编译mysql源码

前段时间学习mysql源码,趁现在有空将学习记录记录一下。第一步ubuntu16.04源码编译安装mysql。

参考网址:http://blog.****.net/lipipifighting/article/details/78374119

1。通过浏览器下载eclipse CDT是免安装版,解压 

下载网址https://www.eclipse.org/downloads/download.php?file=/oomph/epp/oxygen/R/eclipse-inst-linux64.tar.gz 
打开终端(ctrl+alt+t),在当前用户的根目录(默认该目录的拥有者为当前用户)中创建文件夹software,将eclipse解压到software文件夹,并且重命名为eclipse(文件夹) 
mkdir ./software 
cd ./下载 
tar -zxvf ./eclip* ../software/ 
mv ../software/eclipse* ../software/eclipse 
2。安装jdk1.8,在文件夹中打开software/eclipse文件夹,双击运行可执行文件,创建工作空间 
sudo apt-get install -y openjdk-8-jre-headless 
3。将mysql源码包解压到工作空间,创建make install时服务器和客户端的安装目录,cmake配置一下boost目录 
mkdir -p /home/lipipi/eclipse-workspace/software/mysql/data 
tar -zxvf mysql-5.19.0.tar.gz -C /home/lipipi/eclipse-workspace/ 
cd /home/lipipi/eclipse-workspace/mysql* 
cmake . -DWITH_DEBUG=on -DWITH_BOOST=/usr/local/boost -DCMAKE_INSTALL_PREFIX=/home/lipipi/eclipse-workspace/software/mysql -DMYSQL_DATADIR=/home/lipipi/eclipse-workspace/software/mysql/data 
5。打开终端 
sudo -i进入root权限 
chown -R lipipi /home/lipipi 
chmod -R 777 /usr/local/boost 
确保/home/用户目录都是归当前用户所有 
将boost目录的权限设置为任何人可读可写可执行 
因为有些root权限下的操作可能会有影响出现permission deny的错误 

6。进入eclipse的解压缩目录,双击运行eclipse,在welcome页面中找到这样一条,或者file->import project(makefile project with existing code)

ubuntu eclipse CDT编译mysql源码

browse选择源码mysql的源码目录,设置toolchain为linux GCC,finish 
右下角有个进度条,等待导入,导入完成之后,关闭welcome页面 
就能看到出现了一个project项目 

右键打开项目属性页,进行配置builder 

ubuntu eclipse CDT编译mysql源码

不勾选use default build command 
自己写命令为make 
应用 
退出离开属性页 
build project,等待make完成 
再次配置属性页,build指令为make install 
再次build project,等待make install完成 
之后便能在/home/lipipi/eclipse-workspace/software/mysql目录下看到各种创建好的文件和文件夹 
7。进入终端,同样创建用户组和创建用户,初始化mysql服务器 

cd /home/lipipi/eclipse-workspace/software/mysql 

ubuntu eclipse CDT编译mysql源码

groupadd mysql 
useradd -g mysql mysql 
passwd mysql 
输入mysql用户的密码:mysql 
./bin/mysqld –initialize –user=mysql –basedir=/home/lipipi/eclipse-workspace/software/mysql –datadir=/home/lipipi/eclipse-workspace/software/mysql/data 
将最后一行生成的密码记录下来 
wpgpDeKIw2>I 
8。启动mysql服务器,并且检查状态,启动客户端,修改密码 
./support-files/mysql.server start 
./bin/mysql -uroot -p 

ubuntu eclipse CDT编译mysql源码

set password=password(‘mysql’); 
flush privileges; 
数据库初始化一次,在datadir中生成了相应的文件和文件夹,下次重新make && make install之后,不需要重新初始化,直接使用新设置的密码登录就可以啦 
9。关闭mysql服务器 
./support-files/mysql.server stop 
10。以上只是单纯地测试一下编译是否成功,顺带配置一下初始的数据库,接下来是如何使用eclipse调试

如何调试 

ubuntu eclipse CDT编译mysql源码

ubuntu eclipse CDT编译mysql源码

11。打开终端 
cd ./eclipse-workspace/software/mysql 
./bin/mysql -uroot -pmysql 

这里直接输密码的明文,图个方便

ubuntu eclipse CDT编译mysql源码

12。接下来就是eclipse的使用了