当前位置: 首页 > news >正文

03 mysql 的环境搭建

前言
这一系列文章主要包含的内容主要是 各种常用软件的调试环境的搭建  

主要的目的是 搭建一个可打断点的一个调试环境 

c 系列 主要是基于 clion 调试, java 系列主要是基于 idea 调试, js 系列主要是基于 webstorm 调试 

需要有一定的 c, c++, java, js 相关基础 

基于的环境是一个 ubuntu16.04 desktop, 初始的时候 仅仅更新了源, 安装了 clion 

redis, nginx, mysql, vsftpd
javac, javap, jstack, jmap, jinfo
kafka,
spark, flink
coreutils, glibc, gdb 
hotspotVM, linux
... 等等其他

 

 

编译 mysql-5.7.43 

首先去官方网站下载最新源码, 然后拷贝自 目标虚拟机, 下载 with-boost 版本 

 

文件信息如下 

 

 

开始准备编译, 编译之后 src 下面的 mysqld, mysql 即为编译好的 binary 

5.x 需要安装一些 附加的软件, 比如 cmake 等等 

apt-get install cmake 
apt-get install libssl-dev
apt-get install libncurses5-dev

 

执行 cmake 如下 

root@ubuntu:~/Desktop/WorkStations/mysql-5.7.43# pwd
/root/Desktop/WorkStations/mysql-5.7.43
root@ubuntu:~/Desktop/WorkStations/mysql-5.7.43# cmake . -DWITH_BOOST=./boost/-- Running cmake version 3.5.1
-- Could NOT find Git (missing:  GIT_EXECUTABLE) 
-- Configuring with MAX_INDEXES = 64U
-- CMAKE_GENERATOR: Unix Makefiles
-- SIZEOF_VOIDP 8
-- MySQL 5.7.43
-- Packaging as: mysql-5.7.43-Linux-x86_64
-- Local boost dir /root/Desktop/WorkStations/mysql-5.7.43/boost/boost_1_59_0
-- Found /root/Desktop/WorkStations/mysql-5.7.43/boost/boost_1_59_0/boost/version.hpp 
-- BOOST_VERSION_NUMBER is #define BOOST_VERSION 105900
-- BOOST_INCLUDE_DIR /root/Desktop/WorkStations/mysql-5.7.43/boost/boost_1_59_0
-- NUMA library missing or required version not available
-- ZLIB_VERSION (bundled) is 1.2.13
-- ZLIB_INCLUDE_DIR /root/Desktop/WorkStations/mysql-5.7.43/extra/zlib/zlib-1.2.13
-- ZLIB_LIBRARY zlib
// 省略部分输出 
-- CMAKE_CXX_FLAGS_RELEASE: -ffunction-sections -fdata-sections -O3 -DNDEBUG
-- CMAKE_CXX_FLAGS_MINSIZEREL: -ffunction-sections -fdata-sections -Os -DNDEBUG
-- CMAKE_C_LINK_FLAGS: 
-- CMAKE_CXX_LINK_FLAGS: 
-- CMAKE_EXE_LINKER_FLAGS 
-- CMAKE_MODULE_LINKER_FLAGS 
-- CMAKE_SHARED_LINKER_FLAGS 
-- Configuring done
-- Generating done
-- Build files have been written to: /root/Desktop/WorkStations/mysql-5.7.43

 

开始编译 

root@ubuntu:~/Desktop/WorkStations/mysql-5.7.43# make 
Scanning dependencies of target abi_check
[  0%] Built target abi_check
Scanning dependencies of target INFO_SRC
[  0%] Built target INFO_SRC
Scanning dependencies of target lz4_lib
[  0%] Building C object CMakeFiles/lz4_lib.dir/extra/lz4/lz4-1.9.4/lib/lz4.c.o
[  0%] Building C object CMakeFiles/lz4_lib.dir/extra/lz4/lz4-1.9.4/lib/lz4frame.c.o
[  0%] Building C object CMakeFiles/lz4_lib.dir/extra/lz4/lz4-1.9.4/lib/lz4hc.c.o
[  0%] Building C object CMakeFiles/lz4_lib.dir/extra/lz4/lz4-1.9.4/lib/xxhash.c.o
[  0%] Linking C static library archive_output_directory/liblz4_lib.a
// 省略部分输出 
[100%] Linking CXX executable mysql_client_test_embedded
[100%] Built target mysql_client_test_embedded
Scanning dependencies of target mysql_embedded
[100%] Building CXX object libmysqld/examples/CMakeFiles/mysql_embedded.dir/__/__/client/completion_hash.cc.o
[100%] Building CXX object libmysqld/examples/CMakeFiles/mysql_embedded.dir/__/__/client/mysql.cc.o
[100%] Building CXX object libmysqld/examples/CMakeFiles/mysql_embedded.dir/__/__/client/readline.cc.o
[100%] Linking CXX executable mysql_embedded
[100%] Built target mysql_embedded
Scanning dependencies of target my_safe_process
[100%] Building CXX object mysql-test/lib/My/SafeProcess/CMakeFiles/my_safe_process.dir/safe_process.cc.o
[100%] Linking CXX executable my_safe_process
[100%] Built target my_safe_process
root@ubuntu:~/Desktop/WorkStations/mysql-5.7.43# 

 

输出的 binary 如下 

root@ubuntu:~/Desktop/WorkStations/mysql-5.7.43# ls -l sql | grep mysql
-rwxr-xr-x  1 root root  216039824 Jul 29 19:52 mysqld
-rw-r--r--  1 7161 31415    350293 Jun 21 06:02 mysqld.cc
-rw-r--r--  1 7161 31415      4172 Jun 21 06:02 mysqld_daemon.cc
-rw-r--r--  1 7161 31415      1368 Jun 21 06:02 mysqld_daemon.h
-rw-r--r--  1 7161 31415     40746 Jun 21 06:02 mysqld.h
-rw-r--r--  1 7161 31415      1602 Jun 21 06:02 mysqld_suffix.h
-rw-r--r--  1 7161 31415      9184 Jun 21 06:02 mysqld_thd_manager.cc
-rw-r--r--  1 7161 31415      7793 Jun 21 06:02 mysqld_thd_manager.h
-rwxr-xr-x  1 root root    5258136 Jul 29 19:52 mysql_tzinfo_to_sql

 

 

clion 中调试

clion 中打开 mysql-5.7.43 项目 

新建 make application, 配置名称 

target 配置 make 相关, build 配置 Makefile 中 build 的命令, clean 配置 Makefile 中 clean 的命令 

executable 配置编译好的 mysql 的可执行文件 

program arguments 即为 mysql 所需要的参数, 这里配置为 --user=root, 表示以 root 用户启动 mysql 

 

报错如下, 创建 默认的数据文件夹   

 

执行命令如下 初始化 数据目录 

sql/mysqld --user=root --initialize

 

然后 启动项目 

 

 

客户端这边 连接, 进入 断点 

 

 

 

 

 

相关文章:

  • Python实现快速排序的三种经典写法及算法解析
  • kafka消息积压排查
  • 在 Kali 上打造渗透测试专用的 VSCode 环境
  • RabbitMQ 学习
  • Power Query动态追加查询
  • 品牌坚持电商控价的底层逻辑与实施价值
  • 【Elasticsearch】映射:Nested 类型
  • 神经网络-Day46
  • 单元测试与QTestLib框架使用
  • Python打卡训练营学习记录Day46
  • WiFi通信应用开发【保姆级】+配置ESP8266芯片的WiFi station和soft-AP + station工作模式!!!
  • 基于 actix-web 框架的简单 demo
  • Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
  • DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
  • Pycharm中添加不了新建的Conda环境(此篇专门给Daidai写的)
  • 衡量嵌入向量的相似性的方法
  • 服务器磁盘空间被Docker容器日志占满处理方法
  • 青少年编程与数学 01-011 系统软件简介 05 macOS操作系统
  • 基于IDIG-GAN的小样本电机轴承故障诊断
  • Mac下Android Studio扫描根目录卡死问题记录
  • 医疗保健 网站 备案/东莞网络排名优化
  • 茶文化网站制作/网上找客户有什么渠道
  • wordpress限制单独站点大小/宁波网络优化seo
  • 济南做网站推广有哪些公司/app推广代理平台
  • php网站做分享到朋友圈/爱站网络挖掘词
  • 传奇私服网站搭建教程/百度收录入口提交查询