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

[Linux] MySQL源码编译安装

目录

环境包安装

 创建程序用户

解压源码包

配置cmake

​编辑编译

安装

配置修改属性

属主和属组替换成mysql用户管理

系统环境变量配置

初始化数据库

服务管理

启动


环境包安装

yum -y install ncurses ncurses-devel bison cmake gcc gcc-c++

 

重点强调:采用cmake编译方式

 创建程序用户

useradd -s /sbin/nologin mysql

 创建的为无家目录,无法登录的用户

创建完后验证 :

id mysql

 

解压源码包

tar zxvf mysql-boost-5.7.20.tar.gz -C /opt/

注意要区分目录:

配置cmake

进入我们刚才解压的opt目录下,进入mysql-5.7.20目录,使用ls命令可以看到目录下有一个cmake文件

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1


编译

make -j 4

 -j 4代表用4核编译,这样编译速度会加快。当然也可以根据自己的CPU来调整。

编译过程:

安装

make install

配置修改属性

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

属主和属组替换成mysql用户管理

修改配置文件

vim /etc/my.cnf

输入下面内容: 

[client]port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
chown mysql.mysql /etc/my.cnf

系统环境变量配置

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profileecho 'export PATH' >> /etc/profilesource /etc/profile

初始化数据库

bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

服务管理

cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

启动

systemctl start mysqld.service

THE END

如有遗漏,欢迎补充,感谢!

相关文章:

  • MySQL计算精度计算加减乘除取模方式和方法总计
  • 2025年06月03日Github流行趋势
  • 【散刷】二叉树基础OJ题(二)
  • 【学习记录】深入解析 AI 交互中的五大核心概念:Prompt、Agent、MCP、Function Calling 与 Tools
  • Linux: network : switch:hp5500
  • 电阻电容的选型
  • 低谷才是出成绩
  • JVM—垃圾收集算法和HotSpot算法实现细节
  • Go语言学习-->第一个go程序--hello world!
  • 深入解析ReactJS中JSX的底层工作原理
  • 鸿蒙简易版影视APP案例实战
  • 代码随想录算法训练营第60期第五十六天打卡
  • Linux 环境下高效视频切帧的实用指南
  • AXURE安装+汉化-Windows
  • CSS 平铺+自动换行效果
  • ADC接口电路设计详解
  • Vue 树状结构控件
  • 黑马Java面试笔记之 集合篇(算法复杂度+ArrayList+)
  • 免费开源Umi-OCR,离线使用,批量精准!
  • Trae CN IDE自动生成注释功能测试与效率提升全解析
  • wordpress 添加版权/南宁百度快速优化
  • 西宁做网站建设公司/东莞网站seo公司哪家大
  • 网站怎么做app吗/常用的网络营销工具
  • 做网站首选智投未来1/宁波正规优化seo公司
  • 销售网站平台搭建/每日国际新闻最新消息
  • 东阳网站建设yw81/百度快照怎么用