文档章节

51ak带你看MYSQL5.7源码2:编译现有的代码

o
 osc_jd85vegy
发布于 2018/03/22 18:43
字数 562
阅读 11
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

 

从事DBA工作多年

MYSQL源码也是头一次接触

尝试记录下自己看MYSQL5.7源码的历程

申明:个人Python编程很溜,但是C++还停在白痴水平,源码理解方面有点弱,如发现有错误的地方,轻喷

 

目录:

51ak带你看MYSQL5.7源码1:main入口函数 (2018-03-21)

51ak带你看MYSQL5.7源码2:编译现有的代码 (2018-03-22)

51ak带你看MYSQL5.7源码3:修改代码实现你的第一个Mysql版本 (2018-03-23)

51ak带你看MYSQL5.7源码4:实现SQL黑名单功能(2018-04-11)

 

 

 

现在把刚才在VSCODE里看到的源码,安装成服务。

 

测试机:CENTOS6 (虚机配置为4c+4g ),

 YUM安装相关组件

 yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison

执行完成后看一下现有的BOOTST版本 如果有删掉

root@wjz-3-227 ~]# rpm -qa boost*
boost-filesystem-1.41.0-18.el6.x86_64
boost-system-1.41.0-18.el6.x86_64
[root@wjz-3-227 ~]#  yum -y remove boost-*
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Remove Process
Resolving Dependencies
--> Running transaction check

 

上传我们编辑好的文件到测试机,放在/work目录下

拷贝安装BOOST

root@wjz-3-227 mysql-server]# ll
total 108
drwxr-xr-x.  8 root root  4096 Mar 22  2018 boost_1_59_0
-rw-r--r--.  1 root root   160 Dec 28 12:00 filter-provides.sh
-rw-r--r--.  1 root root   176 Dec 28 12:00 filter-requires.sh
drwxr-xr-x. 32 root root  4096 Mar 22  2018 mysql-5.1.72
drwxr-xr-x. 35 root root  4096 Mar 22  2018 mysql-5.7.21
-rw-r--r--.  1 root root 88859 Dec 28 12:00 mysql.spec
[root@wjz-3-227 mysql-server]# cp -r  boost_1_59_0 /usr/local/boost

 

执行以下脚本

groupadd mysql
mkdir /home/mysql
mkdir /home/mysql/data
useradd mysql -g mysql -d /home/mysql

cd mysql-5.7.21/
mkdir debug
cd debug

开始MAKE

cmake .. \
-DCMAKE_INSTALL_PREFIX=/home/mysql  \
-DMYSQL_DATADIR=/home/mysql/data \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_USER=mysql  \
-DWITH_MYISAM_STORAGE_ENGINE=1  \
-DWITH_INNOBASE_STORAGE_ENGINE=1  \
-DWITH_ARCHIVE_STORAGE_ENGINE=1  \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1  \
-DDOWNLOAD_BOOST=1  \
-DWITH_BOOST=/usr/local/boost

出现 下图表示成功。

 

 make -j 4 

漫长的等待,编译成功(测试机性能太次)

 

下面安装和初始化:

make install 
make clean 
rm -f CMakeCache.txt 
cd /home/mysql
chown -R mysql:mysql .
ll
 bin/mysqld --initialize --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data #这一步记住生成的密码,一会要用
ll data/
vim /etc/my.cnf 
vim mysql.server 
cp mysql.server  /etc/init.d/mysqld3306
chmod 755 /etc/init.d/mysqld3306 
cd ..
ll
service mysqld3306 start
bin/mysql -h127.0.0.1 -uroot -p

 

好,今天到此为止

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Flappy Bird(安卓版)逆向分析(一)

更改每过一关的增长分数 反编译的步骤就不介绍了,我们直接来看反编译得到的文件夹 方法1:在smali目录下,我们看到org/andengine/,可以知晓游戏是由andengine引擎开发的。打开/res/raw/at...

enimey
2014/03/04
6K
18
beego API开发以及自动化文档

beego API开发以及自动化文档 beego1.3版本已经在上个星期发布了,但是还是有很多人不了解如何来进行开发,也是在一步一步的测试中开发,期间QQ群里面很多人都问我如何开发,我的业余时间实在...

astaxie
2014/06/25
2.7W
22
程序猿媛一:Android滑动翻页+区域点击事件

滑动翻页+区域点击事件 ViewPager+GrideView 声明:博文为原创,文章内容为,效果展示,思路阐述,及代码片段。文尾附注源码获取途径。 转载请保留原文出处“http://my.oschina.net/gluoyer...

花佟林雨月
2013/11/09
4.2K
1
5分钟 maven3 快速入门指南

前提条件 你首先需要了解如何在电脑上安装软件。如果你不知道如何做到这一点,请询问你办公室,学校里的人,或花钱找人来解释这个给你。 不建议给Maven的服务邮箱来发邮件寻求支持。 安装Mav...

fanl1982
2014/01/23
1.2W
7
极速博客引擎--Gor

gor 是使用 golang 实现的类Ruhoh静态博客引擎(Ruhoh like),基本兼容ruhoh 1.x规范. 相当于与ruhoh的官方实现(ruby实现), 有以下优点: 速度完胜 -- 编译wendal.net近200篇博客,仅需要1秒 安装...

wendal
2013/01/20
3.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

PPDet:减少Anchor-free目标检测中的标签噪声,小目标检测提升明显

本文转载自AI算法修炼营。 这篇文章收录于BMVC2020,主要的思想是减少anchor-free目标检测中的label噪声,在COCO小目标检测上表现SOTA!性能优于FreeAnchor、CenterNet和FCOS等网络。整体思路...

我爱计算机视觉
昨天
0
0
BIO、NIO、AIO 区别和应用场景

点击上方“ java1234 ”,选择“标星公众号” 优质文章,第一时间送达 66套java从入门到精通实战课程分享...

小锋2
今天
0
0
ContentProvider(查询 插入 修改 删除 )

注意 本篇实在sqlite的基础上编写的所以建议首先了解sqlite 首先建立两个模块 ContentProvider ContentResolver ContentProvider 里面需要建立表和建立连接 所以在这里需要建立DBHelp类 DBHe...

osc_6ttvlt1w
3分钟前
0
0
用这个网站一查,才知道自己被卖了

还记得上个月好多大佬的Twitter账号被盗用于网络诈骗的事件吗。 7月15日,美国前总统奥巴马、“股神”巴菲特、特斯拉CEO马斯克、微软创始人比尔·盖茨等人的账户连续“被登录”,用来向大众诈...

猿大白
今天
0
0
牛客多校第9场E Groundhog Chasing Death

开始以为是什么高深的数论题,后来 重新 推了一下,得到了个这么个式子。 ∏ i = a b ∏ j = c d ( p 1 m i n ( a 1 [ 1 ] i , a 2 [ 1 ] j ) p 2 m i n ( a 1 [ 2 ] i , a 2 [ 2 ] j ) . . ...

osc_wdq5dwoy
5分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部