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

Linux下源码安装MySQL 8.0

MySQL 8.0源码安装

  • 环境准备
  • 步骤

环境准备

  1. Linux环境,本文基于CentOS 8

  2. MySQL安装包,本文基于MySQL 8.1,以下为带boost MySQL 8.1源码下载地址:
    https://dev.mysql.com/get/Downloads/MySQL-8.1/mysql-boost-8.1.0.tar.gz

步骤

  1. 解压
    tar -zxvf mysql-boost-8.1.0.tar.gz -C /data/mysql
  2. 创建安装路径,如install目录为安装路径
    mkdir /data/install
  3. 编译安装
    (1) 创建临时编译目录,mkdir /data/tmp_build; cd /data/tmp_build
    (2) cmake ../mysql -DWITH_SSL=system -DCMAKE_BUILD_TYPE=Debug -DWITH_BOOST=/data/mysql/boost -DCMAKE_INSTALL_PREFIX=/data/install
    此时可能出现安装缺少依赖报错,缺什么装什么即可,报错信息中都有提示。
    如本次测试环境缺少的包通过以下方式安装:
    yum install cmake bison-devel gcc-toolset-12 openssl openssl-devel ncurses ncurses-devel libaio-devel rpcgen
    (3) make -j64
    (4) make install
  4. 配置文件
    在/etc/下添加my.cnf配置文件,内容根据自己需要来,例如:
[mysql]
port = 3306
default-character-set = utf8mb4
socket = /data/install/data/mysql.sock
prompt = (\u@\h)[\d]>\_[mysqld]
port = 3306
character_set_server = utf8mb4
socket = /data/install/data/mysql.sock
basedir = /data/install
server_id = 12345678
binlog_format = row
pid_file = /data/install/data/mysql.pid
datadir = /data/install/data
tmpdir = /data/install/tmp
user = mysql
log_error = /data/install/data/error.log
log_bin = /data/install/data/mysql-bin
sync_binlog = 1
  1. 安装启动
    MySQL官网有详细教程,如下:官网安装启动文档
    具体步骤入下:
# 添加用户和用户组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql# 创建数据目录
mkdir /data/install/data# 创建临时表目录
mkdir /data/install/tmpdir# 赋权
chown -R mysql:mysql /data/installln -s /data/install /usr/local/mysql
export PATH=$PATH:/usr/local/mysql/bin# 初始化服务
mysqld --initialize --user=mysql
mysql_ssl_rsa_setup# 启动服务,这里设置 systemctl start/stop mysqld 进行服务开启/关闭
cp ../support-files/mysql.server /etc/init.d/mysql.server  # 用于mysql.server start/stop 启动方式
cp /etc/init.d/mysql.server /etc/init.d/mysqld   # 用于 systemctl 启动方式
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
systemctl start mysqld
http://www.lryc.cn/news/138009.html

相关文章:

  • 大聪明教你学Java | 深入浅出聊 Java 内存模型
  • SAP ABAPG开发屏幕自动生成日期的搜索帮助
  • leetcode 674. 最长连续递增序列
  • Mysql简短又易懂
  • vue 简单实验 v-model 变量和htm值双向绑定
  • 测试框架pytest教程(8)失败重试-pytest-rerunfailures
  • 6个主流的工业3D管道设计软件
  • 基于微信小程序的垃圾分类系统设计与实现(2.0 版本,附前后端代码)
  • 基础论文学习(4)——CLIP
  • SpringBoot利用ConstraintValidator实现自定义注解校验
  • 十、pikachu之php反序列化
  • PHP“牵手”拼多多商品详情数据获取方法,拼多多API接口批量获取拼多多商品详情数据说明
  • 前端面试:【Redux】状态管理的精髓
  • element-ui中的el-table的summary-method(合计)的使用
  • “深入探索JVM:解析Java虚拟机的工作原理与性能优化“
  • 【后端】Core框架版本和发布时间以及.net 6.0启动文件的结构
  • Linux 定时任务 crontab 用法学习整理
  • 看板之道:如何利用Kanban优化您的项目流程
  • Docker的基础操作
  • 14、缓存预热+缓存雪崩+缓存击穿+缓存穿透
  • 【PostGreSQL】PostGreSQL到Oracle的数据迁移
  • jupyter notebook出现ERR_SSL_VERSION_OR_CIPHER_MISMATCH解决方案
  • 前端进阶Html+css10----定位的参照对象(高频面试题)
  • 总结记录Keras开发构建神经网络模型的三种主流方式:序列模型、函数模型、子类模型
  • python环境建设
  • Python学习笔记第五十九天(Matplotlib 安装)
  • (6)(6.3) 自动任务中的相机控制
  • 什么是cssreset ?为什么要用到cssreset?
  • SpringCloud学习笔记(四)_ZooKeeper注册中心
  • 【算法专题突破】双指针 - 移动零(1)