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

1 Debian12源码安装mysql5.7.44

准备工作

1、更新系统

# apt-get update

2、安装依赖包

# apt-get install build-essential cmake libncurses5-dev libssl-dev libaio1 libaio-dev zlib1g-dev libreadline-dev bison flex libjemalloc-dev libnuma-dev  libboost-all-dev

3、手动安装Boost 1.59.0(mysql5.7.44特定版本)

下载boost1.59源码包

# wget https://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

编译安装

#yum install gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel -y

#tar xf boost_1_59_0.tar.gz

#cd boost_1_59_0

#./bootstrap.sh

#./b2 -j4

#./b2 install 

下载 MySQL 源码

从 MySQL 官方网站下载 MySQL 5.7.44 的源码包。

#wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.44.tar.gz

#tar xzf mysql-5.7.44.tar.gz

#cd mysql-5.7.44

配置与编译

在 MySQL 源码目录中,执行 CMake 配置并开始编译。

#mkdir build

#cd build

# cmake .. \

    -DWITH_BOOST=/root/boost_1_59_0 \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

    -DINSTALL_DOCDIR=share/doc/mysql-5.7.44 \

    -DINSTALL_MANDIR=/usr/local/mysql/share/man \

    -DINSTALL_INFODIR=/usr/local/mysql/share/info \

    -DINSTALL_SBINDIR=/usr/local/mysql/bin \

    -DINSTALL_SCRIPTDIR=/usr/local/mysql/bin \

    -DINSTALL_SUPPORTFILESDIR=/usr/local/mysql/share/mysql \

    -DINSTALL_PLUGINDIR=/usr/local/mysql/lib/plugin \

    -DINSTALL_EMBEDDED_INCLUDEDIR=/usr/local/mysql/include/mysql-embedded \

    -DINSTALL_EMBEDDED_LIBDIR_REL=lib/mysql-embedded \

    -DINSTALL_EMBEDDED_BINDIR=/usr/local/mysql/bin \

    -DWITH_EMBEDDED_SERVER=1 \

    -DWITH_EXTRA_CHARSETS=all \

    -DWITH_MYISAM_STORAGE_ENGINE=1 \

    -DWITH_INNOBASE_STORAGE_ENGINE=1 \

    -DWITH_READLINE=1 \

    -DWITH_SSL=system \

    -DWITH_ZLIB=system \

    -DWITH_LIBWRAP=0 \

    -DENABLED_LOCAL_INFILE=1 \

    -DWITH_DEBUG=0 \

    -DWITH_BOOST=/usr \

    -DWITH_UNIT_TESTS=0 \

    -DWITH_NUMA=0 \

    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

    -DWITH_PARTITION_STORAGE_ENGINE=1 \

    -DWITH_FEDERATED_STORAGE_ENGINE=1 \

    -DWITH_MEMORY_STORAGE_ENGINE=1 \

    -DWITH_READ_ONLY_STORAGE_ENGINE=1 \

    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_CMAKE=1

#make -j$(nproc)

安装

将编译好的 MySQL 安装到系统中。

# make install

创建 MySQL 用户和组

#groupadd mysql

#useradd -r -g mysql mysql

初始化数据库

创建my.cnf文件

#cp /etc/mysql/my.cnf.fallback /etc/mysql/my.cnf

初始化 MySQL 数据库,并生成随机的初始 root 密码。

# chown -R mysql:mysql /usr/local/mysql

# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql

这里使用了 --initialize-insecure 来避免生成随机密码,以便后续手动设置密码。如果你希望使用随机生成的初始密码,可以使用 --initialize 命令。

创建 MySQL 服务启动文件

创建一个简单的 systemd 服务文件来管理 MySQL 服务。

#vi /etc/systemd/system/mysql.service

在文件中添加以下内容:

[Unit]

Description=MySQL Community Server

After=network.target

[Service]

Type=forking

User=mysql

Group=mysql

PIDFile=/usr/local/mysql/tmp/mysql.pid

ExecStart=/usr/local/mysql/bin/mysqld

ExecStop=/usr/local/mysql/bin/mysqladmin shutdown

TimeoutStopSec=60s

RestartSec=1s

Restart=always

[Install]

WantedBy=multi-user.target

保存并退出。

配置开启启动服务,并启动服务

#systemctl daemon-reload

#systemctl enable mysql

#systemctl restart mysql

检查 MySQL 服务状态

# systemctl status mysql

添加 MySQL 客户端到 PATH

#echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc

#source ~/.bashrc

登录 MySQL 并设置 root 密码

# mysql -u root

设置 root 密码:

#ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';

#FLUSH PRIVILEGES;

#EXIT;

安装完成!


http://www.mrgr.cn/news/3826.html

相关文章:

  • 【collisionMesh根据一组三维顶点创建碰撞几何体】处理杯子的表面数据并将其转换为碰撞网格
  • HTML静态网页成品作业(HTML+CSS)——游戏战地介绍设计制作(4个页面)
  • <数据集>航拍牧场牛羊识别数据集<目标检测>
  • git 常用命令
  • Spring Boot启动流程
  • 论文解读:LONGWRITER: UNLEASHING 10,000+ WORD GENERATION FROM LONG CONTEXT LLMS
  • 【Kotlin设计模式】Kotlin中单例模式
  • Unity | Shader基础知识(第二十二集:两次渲染)
  • Milvus向量数据库-内存中索引简介
  • Eureka Server与Eureka Client详解:服务注册与发现的交互机制
  • 大数据开发工程师面试整理-性能优化
  • Docker详解
  • mongodb备份还原
  • RabbitMQ-消息队列之work使用
  • 秒懂Linux之缓冲区
  • 2024前端面试题-css篇
  • 【Mac】植物大战僵尸杂交版 for Mac(经典策略塔防游戏)游戏介绍
  • 数据结构初阶(1)——算法的时间复杂度和空间复杂度
  • 【Android】报错:XXXDataBinding文件不能自动生成
  • 计算机毕业设计选题推荐-springboot 基于SpringBoot的家电销售展示平台