ubuntu clion mysql 源码调试

mysql 源码调试
1.下载mysql源码
https://dev.mysql.com/downloads/mysql/5.6.html#downloads
(1).什么是boost
Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称,
ubuntu clion mysql 源码调试

2.解压缩源码包
tar -zxvf mysql5.7.28

3.编译源码,一定要到解压缩的路径中
(1)cmake -DCMAKE_INSTALL_PREFIX=/data/mysql_5.7 -DMYSQL_DATADIR=/data/mysql_5.7/data -DSYSCONFDIR=/data/mysql_5.7 -DMYSQL_UNIX_ADDR=/data/mysql_5.7/data/mysql.sock -DWITH_DEBUG=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=boost -DDOWNLOAD_BOOST_TIMEOUT=60000

错误:CMake Error at cmake/ssl.cmake:66 (MESSAGE): Please install the appropriate openssl developer package
下载openssl
apt install openssl 或者yum install openssl

(2)make

(3)make install

ubuntu中必须要先
apt install build-essential cmake bison libncurses5-dev libssl-dev pkg-config

4.制作my.cnf文件(在/etc/my.cnf)
[mysql]
#ql客户端默认字符集
default-character-set=utf8mb4
socket=/data/mysql_5.7/data/mysql.sock

[mysqld]
skip-name-resolve
#设置3306端口
port=3306
socket=/data/mysql_5.7/data/mysql.sock
##设置mysql的安装目录(自己安装的位置)
basedir=/data/mysql_5.7
##设置mysql数据库的数据的存放目录(这个文件夹没有需要的话要自己创建)
datadir=/data/mysql_5.7/data
##允许最大连接数
max_connections=200
##服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4
##创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
##设置日志格式
binlog_format = mixed
##设置日志路径,注意路经需要mysql用户有权限写
log-bin = /data/mysql_5.7/logs/mysql-bin.log
##设置binlog清理时间
expire_logs_days = 7
##binlog每个日志文件大小
max_binlog_size = 100m
##binlog缓存大小
server_id=100
binlog_cache_size = 4m
##最大binlog缓存大小
max_binlog_cache_size = 512m

5.赋值mysql权限(5.7之后一定要赋值权限)
(1)执行以下命令来创建mysql用户组
groupadd mysql

(2)执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组
useradd -g mysql mysql

mkdir /var/lib/mysql
mkdir /var/lib/mysql/mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/mysql5.7

binlog日志权限一定要给对,不然会报错误

6.下载boost源码(后来测试出来)
./bootstrap.sh --with-libraries=all --with-toolset=gcc
./b2 install --prefix=/usr

7.安装clion
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install bison
sudo apt-get install library*
sudo apt-get install libncurses5-dev
sudo apt-get install g++
sudo apt-get install kdelibs5-dev
sudo apt-get install make

tar -xzvf CLion-xxxx.x.x.tar.gz

./clion.sh

8.导入源码并编译
ubuntu clion mysql 源码调试

cmake:

-DCMAKE_INSTALL_PREFIX=/data/mysql_5.7
-DMYSQL_DATADIR=/data/mysql_5.7/data
-DSYSCONFDIR=/data/mysql_5.7
-DMYSQL_UNIX_ADDR=/data/mysql_5.7/data/mysql.sock
-DWITH_DEBUG=1
-DDOWNLOAD_BOOST=1
-DWITH_BOOST=/usr/include/boost
-DDOWNLOAD_BOOST_TIMEOUT=60000

9.mysql 源码运行

注意:运行前一定要先手动初始化mysql
./mysqld --initialize --user=mysql 配置原始mysql,生成mysql初始化密码

初始化后,在用下面的dubug开始运行mysql

ubuntu clion mysql 源码调试

ubuntu clion mysql 源码调试

成功运行后:

ubuntu clion mysql 源码调试