当前位置: 首页 > 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

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

http://www.lqws.cn/news/91045.html

相关文章:

  • 工作自动化——工作自动提炼--智能编程——仙盟创梦IDE
  • 系统设计面试利器:The System Design Primer开源项目介绍
  • vue+cesium示例:地形开挖(附源码下载)
  • AI+3D 视觉重塑塑料袋拆垛新范式:迁移科技解锁工业自动化新高度
  • 【亲测有效】Mybatis-Plus中更新字段为null
  • PostgreSQL数据库备份
  • KEYSIGHT是德科技 E5063A 18G ENA系列网络分析仪
  • 数据库的操作
  • Oracle中的循环——FOR循环、WHILE循环和LOOP循环
  • 鸿蒙版Taro 搭建开发环境
  • 腾讯 ovCompose 开源,Kuikly 鸿蒙和 Compose DSL 开源,腾讯的“双”鸿蒙方案发布
  • Oracle 用户/权限/角色管理
  • Go基础|map入门
  • 【灵动Mini-F5265-OB】vscode+gcc工程创建、下载、调试
  • React从基础入门到高级实战:React 高级主题 - React 微前端实践:构建可扩展的大型应用
  • 如何监测光伏系统中的电能质量问题?分布式光伏电能质量解决方案
  • 【论文解读】ReAct:从思考脱离行动, 到行动反馈思考
  • 【Doris基础】Apache Doris中的Fragment概念详解
  • Vue3中使用Echarts图表步骤-demo
  • 通信算法之281:大疆DJI无人机ID-DJI DroneID开源工程-相关问题-协议信息问题
  • 20250603在荣品的PRO-RK3566开发板的Android13下的命令行查看RK3566的温度
  • 学习路之PHP--easyswoole使用视图和模板
  • 大语言模型评测体系全解析(上篇):基础框架与综合评测平台
  • 用户管理页面(解决toggleRowSelection在dialog用不了的隐患,包含el-table的plus版本的组件)
  • 剑指offer15_数值的整数次方
  • Elasticsearch | 如何将修改已有的索引字段类型并迁移数据
  • 云原生周刊:探索 Gateway API v1.3.0
  • 点击启动「高效模式」:大腾智能 CAD 重构研发设计生产力
  • Go 为何天生适合云原生?
  • 项目前置知识——不定参以及设计模式