51ak带你看MYSQL5.7源码2:编译现有的代码
从事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-- ~]# rpm -qa boost*
boost-filesystem-1.41.-.el6.x86_64
boost-system-1.41.-.el6.x86_64
[root@wjz-- ~]# yum -y remove boost-*
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
上传我们编辑好的文件到测试机,放在/work目录下
拷贝安装BOOST
root@wjz-- mysql-server]# ll
total
drwxr-xr-x. root root Mar boost_1_59_0
-rw-r--r--. root root Dec : filter-provides.sh
-rw-r--r--. root root Dec : filter-requires.sh
drwxr-xr-x. root root Mar mysql-5.1.
drwxr-xr-x. root root Mar mysql-5.7.
-rw-r--r--. root root Dec : mysql.spec
[root@wjz-- 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./
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= \
-DMYSQL_USER=mysql \
-DWITH_MYISAM_STORAGE_ENGINE= \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_ARCHIVE_STORAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
-DDOWNLOAD_BOOST= \
-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 /etc/init.d/mysqld3306
cd ..
ll
service mysqld3306 start
bin/mysql -h127.0.0. -uroot -p
好,今天到此为止
51ak带你看MYSQL5.7源码2:编译现有的代码的更多相关文章
- 51ak带你看MYSQL5.7源码3:修改代码实现你的第一个Mysql版本
从事DBA工作多年 MYSQL源码也是头一次接触 尝试记录下自己看MYSQL5.7源码的历程 目录: 51ak带你看MYSQL5.7源码1:main入口函数 51ak带你看MYSQL5.7源码2:编译 ...
- 51ak带你看MYSQL5.7源码1:main入口函数
从事DBA工作多年 MYSQL源码也是头一次接触 尝试记录下自己看MYSQL5.7源码的历程 目录: 51ak带你看MYSQL5.7源码1:main入口函数 51ak带你看MYSQL5.7源码2:编译 ...
- 51ak带你看MYSQL5.7源码4:实现SQL黑名单功能
博客迁移至: https://www.dboop.com/ 从事DBA工作多年 MYSQL源码也是头一次接触 尝试记录下自己看MYSQL5.7源码的历程 申明:个人Python编程很溜,但是C++还停 ...
- MYSQL5.5源码包编译安装
MYSQL5.5源码安装首先安装必要的库yum -y install gcc*###### 安装 MYSQL ######首先安装camke 一.支持YUM,则yum install -y cmake ...
- MYSQL5.7源码包编译安装
Centos下用cmake编译安装MySQL 5.7安装依赖包yum -y install gcc gcc-c++ ncurses ncurses-devel cmake下载相应源码包cd /usr/ ...
- MYSQL5.6源码包编译安装
linux下用cmake编译安装mysql-5.6.35cmake编译安装mysql的方法:#useradd -M mysql -s /sbin/nologin#yum install -y cmak ...
- Chrome自带恐龙小游戏的源码研究(七)
在上一篇<Chrome自带恐龙小游戏的源码研究(六)>中研究了恐龙的跳跃过程,这一篇研究恐龙与障碍物之间的碰撞检测. 碰撞盒子 游戏中采用的是矩形(非旋转矩形)碰撞.这类碰撞优点是计算比较 ...
- Chrome自带恐龙小游戏的源码研究(完)
在上一篇<Chrome自带恐龙小游戏的源码研究(七)>中研究了恐龙与障碍物的碰撞检测,这一篇主要研究组成游戏的其它要素. 游戏分数记录 如图所示,分数及最高分记录显示在游戏界面的右上角,每 ...
- Chrome自带恐龙小游戏的源码研究(六)
在上一篇<Chrome自带恐龙小游戏的源码研究(五)>中实现了眨眼睛的恐龙,这一篇主要研究恐龙的跳跃. 恐龙的跳跃 游戏通过敲击键盘的Spacebar或者Up来实现恐龙的跳跃.先用一张图来 ...
随机推荐
- 在SpringBoot使用Druid进行数据监控
前言 之前在构建项目初始设计的时候在选择数据库连接的时候就看到Druid有这样的强大的功能.数据监控.对于一个项目来说,数据监控特别重要,之前使用对于数据库的监控都是通过mysql的日志等系统来完成的 ...
- Spring cloud oauth2.0 access_token 永不失效设置方法
在AuthorizationServerConfigurerAdapter,重写一个TokenServices,注意这里的@Primary 非常重要,否则会有3个同类型的Bean,无法注入,会抛出以下 ...
- JDBC批量插入优化addbatch
// 获取要设置的Arp基准的List后,插入Arp基准表中 public boolean insertArpStandardList(List<ArpTable> list) { Con ...
- MAVEN自动发布更新本地和远程仓库
1.本地仓库 的更新 mvn clean package install 2.远程 仓库 的更新 mvn clean package deploy 2.1工程文件pom.xml的设置 <bu ...
- Linux基础五
Yum软件包管理 yum:基于rpm包构建的软件更新机制 自动解决软件包依赖关系 所有软件包由集中的yum软件仓库提供. [root@hydra桌面]#ls /misc/cd/repodata/ (r ...
- Centos7 上安装配置 RabbitMQ
前言: 最近服务器上搭建了一下rabbitmq, 网上找了很多教程, 采了灰常灰常多的坑. 现在终于从坑里面爬出来了.赶紧写下来,避免下次掉坑里面 好了,废话不多说,下面步入正题 一.安装Erl ...
- 4.2 PCIe体系结构的组成部件
PCIe总线作为处理器系统的局部总线,其作用与PCI总线类似,主要目的是为了连接处理器系统中的外部设备,当然PCIe总线也可以连接其他处理器系统.在不同的处理器系统中,PCIe体系结构的实现方法略有不 ...
- R语言︱机器学习模型评估方案(以随机森林算法为例)
笔者寄语:本文中大多内容来自<数据挖掘之道>,本文为读书笔记.在刚刚接触机器学习的时候,觉得在监督学习之后,做一个混淆矩阵就已经足够,但是完整的机器学习解决方案并不会如此草率.需要完整的评 ...
- OpenCV实现图像上添加汉字 转
<span style="font-size:18px;">void GetStringSize(HDC hDC, const char* str, int* w, i ...
- 基于Spring Boot的RESTful API实践(一)
1. RESTful简述 REST是一种设计风格,是一组约束条件及原则,而遵循REST风格的架构就称为RESTful架构,资源是RESTful的核心,一个好的RESTful架构,通过URL就能很 ...