CentOS7源码安装MySQL

CentOS7源码安装MySQL

1:安装依赖包

执行:yum -y install ncurses-devel gcc- bzip2- bison

CentOS7源码安装MySQL

2:升级cmake工具(我用的是cmake-3.22.0-rc1.tar.gz)下载地址

源码安装基本步骤

1:解压:tar -xzvf cmake-3.22.0-rc1.tar.gz

2:配置:./config

3:编译:make -j4

4:安装:make install

5:测试安装

CentOS7源码安装MySQL

3:升级boost库文件(boost_1_59_0.tar.gz) 下载地址

boost是个绿色软件,直接解压后移动到 /usr/local/boost

mv boost_1_59_0 /usr/local/boost

4:安装mysql(mysql-5.7.24.tar.gz) 下载地址

CentOS7源码安装MySQL

tar xf mysql-5.7.24.tar.gz

进入解压后文件中并没有找到 config文件,所以就需要用cmake来安装

CentOS7源码安装MySQL

2:cmake 安装mysql指令 参考文档

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \        # 指定安装路径
-DMYSQL_DATADIR=/usr/local/mysql/data \        # 指定数据目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysqld.sock \ # 指定sock文件路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \        # 安装MYISAM存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \        # 安装INNOBASE存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \        # 安装BLACKHOLE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \        # 安装ARCHIVE存储引擎
-DENABLED_LOCAL_INFILE=1 \            # 允许使用Load Data命令从本地导入
-DEXTRA_CHARSETS=all \                # 安装所有字符集
-DDEFAULT_CHARSET=utf8 \                # 默认字符集utf-8
-DDEFAULT_COLLATION=utf8_general_ci \        # 校验字符
-DMYSQL_USER=mysql \                # mysqld运行用户
-DWITH_DEBUG=0 \                # 关闭debug
-DWITH_EMBEDDED_SERVER=1 \            # 生成一个libmysqld.a(.so)的库,这个库同时集成了mysql服务与客户端API
-DDOWNLOAD_BOOST=1 \                # 允许boost
-DENABLE_DOWNLOADS=1 \                # 允许下载boost库文件
-DWITH_BOOST=/usr/local/boost \            #  boost文件路径
-DMYSQL_TCP_PORT=3306 \                # MySQL 监听端口
-DSYSCONFDIR=/usr/local/mysql/etc/my.cnf \        # 系统配置目录
-DWITH_SSL=yes                      # 支持SSL
-DWITH_SSL=system                 # 启用ssl库支持(安全套接层)

3:执行cmake指令配置

CentOS7源码安装MySQL
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysqldb \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_DEBUG=0 \
-DWITH_EMBEDDED_SERVER=1 \
-DDOWNLOAD_BOOST=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_BOOST=/usr/local/boost \
-DMYSQL_TCP_PORT=3306 \
-DWITH_SSL=system

View Code

复制指令到命令行只要不报错就回车

CentOS7源码安装MySQL

注意:在回车之前如果mysql源码目录中有CMakeCache.txt需要先删除 CMakeCache.txt 文件

配置成功如下

CentOS7源码安装MySQL

编译:make -j4

安装过程会很长………….

CentOS7源码安装MySQL

安装:make install

CentOS7源码安装MySQL

mysql设置:

1:拷贝一个启动文件

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

2:给文件赋权限

chmod 755 /etc/init.d/mysql

3:设置所有者为mysql,默认为root

创建用户:useradd -s /sbin/nologin -r mysql

设置:chown mysql.mysql /usr/local/mysql/ -R

查看:ll /usr/local/mysql/(注意看名字是否由root 改为了mysql)

CentOS7源码安装MySQL

4:建立连接

ln -sf /usr/local/mysql/bin/* /usr/bin/

ln -sf /usr/local/mysql/lib/* /usr/lib/

ln -sf /usr/local/mysql/libexec/* /usr/local/libexec

ln -sf /usr/local/mysql/share/man/man1/* /usr/share/man/man1

ln -sf /usr/local/mysql/share/man/man8/* /usr/share/man/man8

5:修改配置文件(/etc/my.conf)

CentOS7源码安装MySQL

6:初始化数据库

执行:/usr/local/mysql/bin/mysqld –initialize –user=mysql –basedir=/usr/local/mysql/ –datadir=/usr/local/mysql/data/

CentOS7源码安装MySQL

注意:上面有个error,在配置文件中改了即可,上面第五步截图是修改后的,关于日志路径配置。

6:启动测试

/etc/init.d/mysql start

7:密码修改

执行:mysql_secure_installation

CentOS7源码安装MySQL

CentOS7源码安装MySQL

CentOS7源码安装MySQL

8:mysql添加新用户并且设置远程链接 参考文档

Original: https://www.cnblogs.com/wendj/p/15479242.html
Author: begrateful
Title: CentOS7源码安装MySQL

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/576492/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • web监听器解析

    监听器是web三大组件之一,事件监听机制如下: 事件:某个事件,如果初始化上下文 事件源:事件发生的地方 监听器:一个对象,拥有需要执行的逻辑 注册监听:将事件、事件源、监听器绑定…

    数据库 2023年6月16日
    080
  • MySQL8自增主键变化

    MySQL8自增主键变化 醉后不知天在水,满船清梦压星河。 一、简述 MySQL版本从5直接大跃进到8,相信MySQL8一定会有很多令人意想不到的改进,如果不想只会CRUD可以看看…

    数据库 2023年5月24日
    077
  • Java面试题(八)–Spring

    1 基础知识 1、说说你对Spring的理解? 1、Spring是一个开源框架,主要是为简化企业级应用开发而生。可以实现EJB可以实现的功能,Spring是一个IOC和AOP容器框…

    数据库 2023年6月16日
    084
  • 0811JDBC随笔

    1.JDBC体系系统 一组规范:接口 JDBC接口(API)包括两个层次: 面向应用的API:Java API,抽象接口,供应用开发人员使用(连接数据库,执行SQL语句,获得结果)…

    数据库 2023年5月24日
    068
  • Linux–>进程管理

    基本介绍 在Linux中, 每个执行程序都称为一个进程。每一个进程都会分配一个ID号(pid,进程号) 每个进程都可能以俩种方式存在的。分别是 前台与 后台,所谓前台进程就是用户目…

    数据库 2023年6月14日
    0100
  • Tomcat的类加载器

    一.Jvm的类加载器 Bootstrap:用于加载JVM提供的基础运行类,即位于%JAVA_HOME%/jre/lib目录下的核心类库。 Extension: Java提供的一个标…

    数据库 2023年6月11日
    080
  • Vue 3.x基础

    Vue 3.x基础 模版 <template> // html </template> <script setup> // setup API …

    数据库 2023年6月11日
    082
  • Nginx 反向代理、Rewrite

    Rewrite功能配置 Rewrite是Nginx服务器提供的一个重要基本功能,是Web服务器产品中几乎必备的功能。主要的作用是用来实现URL的重写。www.jd.com注意:Ng…

    数据库 2023年6月6日
    087
  • 我的第一次校招

    2018-09-26 23:40:03 虽然是第一次参加,但这次的笔试完成结果让我不是很满意,因为有几道超简单的字符串编程没有做,忘了或者是想复杂了,还有一些概念题不是很清楚,自己…

    数据库 2023年6月16日
    0116
  • COLA 架构规范定义

    基础架构图 Adapter 适配层:对前端展示的路由和适配。 VO:返回给前端的对象 assembler:将 responseDTO 转换为 VO web:处理页面请求的 Cont…

    数据库 2023年6月6日
    0108
  • LeetCode 14. 最长公共前缀

    编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入:strs = [“flower&#8…

    数据库 2023年6月11日
    062
  • 对象映射时 Integer 类型字段转换枚举处理麻烦 一个工具类搞定

    使用场景 当我们返回给前端所需的对象数据时,大多数情况可以直接使用 StructMap 映射实现自动转换,但碰到对象中的某些字段需要从 Integer 类型转换成对应枚举的时候,在…

    数据库 2023年6月6日
    071
  • 常见的攻击方式以及防护策略

    本文主要给大家介绍一下常见的几种网络攻击方式(包括CC,UDP,TCP)和基础防护策略! 1.0 常见的网络攻击方式 第一种CC攻击 CC攻击( ChallengeCoHapsar…

    数据库 2023年6月9日
    082
  • Typora加七牛云实现实时图片自动上传

    Typora加七牛云实现实时图片自动上传 前言: ​ Typora是一款轻便简洁的Markdown编辑器,支持即时渲染技术,这也是与其他Markdown编辑器最显著的区别.重点是免…

    数据库 2023年6月9日
    0190
  • MySQL基础入门学习教程,带你快速掌握mysql

    Original: https://www.cnblogs.com/chaichaichai/p/15243386.htmlAuthor: 牛仔码农Title: MySQL基础入门…

    数据库 2023年5月24日
    0111
  • 一文读懂Spring框架中依赖注入流程

    想读懂Spring的依赖注入流程,我们先简单了解一下Ioc和DI是什么? IoC和DI Ioc—Inversion of Control,即”控制反转”,不…

    数据库 2023年6月6日
    079
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球