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

MySQL技术内幕1:内容介绍+MySQL编译使用介绍

文章目录

    • 1.整体内容介绍
    • 2.下载编译流程
      • 2.1 安装编译工具和依赖库
      • 2.2 下载编译
    • 3.配置MySQL
      • 3.1 数据库初始化
      • 3.2 编辑配置文件
      • 3.3 启动停止MySQL
      • 3.4 登录并修改密码

1.整体内容介绍

MySQL技术系列文章将从MySQL下载编译,使用到MySQL各组件使用原理+源码分析,采用自底向上,从整体到局部的方式来进行详细分析(从MySQL系统概述到存储管理,再到索引,查询编译,事务,并发,安全,复制和分布式相关内容)。本篇为第一篇,也就是环境准备篇,以此环境为基础来进行后续的介绍。

2.下载编译流程

现在应用比较多的新版本是8.x.x,所以采用8.0.33版本来进行源码的分析。

2.1 安装编译工具和依赖库

sudo apt update
sudo apt install -y cmake gcc g++ make libncurses-dev libssl-dev libboost-all-dev libbz2-dev  pkg-config  libldap2-dev libsasl2-dev

2.2 下载编译

cmake ..  \
-DCMAKE_INSTALL_PREFIX=/home/xxx/openSource/DataBase/mysql/install  \
-DMYSQL_DATADIR=/home/xxx/openSource/DataBase/mysql/data  \
-DWITH_BOOST=../boost \
-DSYSCONFDIR=/home/xxx/openSource/DataBase/mysql/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ 
-DWITH_READLINE=1  \
-DWITH_DEBUG=1   \
-DENABLED_LOCAL_INFILE=1 \ 
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ 
-DDEFAULT_CHARSET=utf8mb4  \
-DDEFAULT_COLLATION=utf8mb4_general_ci \ 
-DMYSQL_TCP_PORT=3306   \
-DWITH_SSL=system 参数详解:
-DCMAKE_INSTALL_PREFIX      //安装目录
-DSYSCONFDIR                //配置文件目录(默认可以不安装配置文件)
-DMYSQL_DATADIR                   //数据存储目录
-DWITH_BOOST                          //boost目录
-DINSTALL_MANDIR                 //帮助文档 
-DMYSQL_TCP_PORT                //默认端口号
-DMYSQL_UNIX_ADDR             //sock文件位置
-DDEFAULT_CHARSET              //默认字符集。字符集的支持,可以调
-DEXTRA_CHARSETS                //扩展的字符集支持所有的
-DDEFAULT_COLLATION         //默认字符集为utf8;默认校对规则为utf8_general_ci
-DWITH_READLINE                   //上下翻历史命令
-DWITH_SSL                              //ssl路径,可以使用系统的system,也可以使用自己编译的指定路径下的
-DWITH_EMBEDDED_SERVER //编译并启用嵌入式MySQL服务器
-DENABLED_LOCAL_INFILE     //从本地导入数据
-DWITH_INNOBASE_STORAGE_ENGINE    //编译InnoDB存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE       //编译ARCHIVE存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE //编译BLACKHOLE引擎
-DWITH_DEBUG                      //debug版本
#编译安装
make -j8 && make install

过程中可能出现的问题:
1)CMake Error at CMakeLists.txt:1374 (MESSAGE):Please install the patchelf(1) utility:直接注释掉cmakefile中对应的检查即可。
2)undefined reference to `EVP_aes_128_cfb1’:OpenSSL 库版本不兼容或配置不正确。

# 下载 OpenSSL 源码
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
tar -zxvf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w# 配置并编译
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
make
sudo make install# 更新库路径
echo "/usr/local/openssl/lib" | sudo tee /etc/ld.so.conf.d/openssl.conf
sudo ldconfig# 验证安装
/usr/local/openssl/bin/openssl version
#更新cmake参数,清理后编译
-DWITH_SSL=/usr/local/openssl

3.配置MySQL

3.1 数据库初始化

cd ~/openSource/DataBase/mysql/install   # 指定的安装路径
sudo bin/mysqld --initialize --user=xxx --basedir=/home/xxx/openSource/DataBase/mysql/install --datadir=/home/xxx/openSource/DataBase/mysql/data/

此时会生成临时密码,后面可以在日志中查找,也可以在这记录一下。
在这里插入图片描述

3.2 编辑配置文件

指定的配置文件路径下去编辑:vim

/home/xxx/openSource/DataBase/mysql/etc/my.cnf
[mysqld]
basedir=/home/xxxx/openSource/DataBase/mysql/install
datadir=/home/xxxx/openSource/DataBase/mysql/data
socket=/tmp/mysql.sock
user=mysql[client]
socket=/tmp/mysql.sock

3.3 启动停止MySQL

/home/xxx/openSource/DataBase/mysql/install/support-files/mysql.server start
/home/xxx/openSource/DataBase/mysql/install/support-files/mysql.server stop

3.4 登录并修改密码

./bin/mysql -u root -p

输入临时密码后登录成功
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘你的新密码’;
在这里插入图片描述
以上就完成了MySQL的编译安装和配置,可以使用其进行调试了。

原文链接

相关文章:

  • 10个成功案例剖析|融质AI创新实践
  • php中实现邮件发送功能
  • Spring Boot 类加载机制深度解析
  • 浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
  • 1、cpp实现Python的print函数
  • http头部注入攻击
  • 多模态大语言模型arxiv论文略读(110)
  • 高温IC设计带来的挑战和问题
  • 2025年06月06日Github流行趋势
  • 【数据结构】_排序
  • windows11右键取消二次加载
  • 跨平台游戏引擎 Axmol-2.6.1 发布
  • 单片机0-10V电压输出电路分享
  • 鼠标的拖动效果
  • coze智能体后端接入问题:
  • 某水表量每15分钟一报,然后某天示数清0了,重新报示值了 ,如何写sql 计算每日水量
  • SQL进阶之旅 Day 19:统计信息与优化器提示
  • django blank 与 null的区别
  • Shell编程核心符号与格式化操作详解
  • Skia如何绘制几何图形
  • mibt wordpress/滕州seo
  • 项目建设成效怎么写/seo优化分析
  • 建站快车金牌代理商/长沙哪家网络公司做网站好
  • 网站建设公司需要icp证/百度一下手机版
  • 金融网站制作/360网址大全
  • 日照建设工程信息网站/国际军事新闻最新消息今天