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)

大家都在看

  • leetcode 543. Diameter of Binary Tree 二叉树的直径(简单)

    给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例 :给定二叉树 1 / \ 2 3 / \ …

    数据库 2023年6月16日
    0107
  • 汇编实验十编写子程序

    第一题,显示字符串,8行3列显示Welcome to masm! assume cs:codedata segmentdb ‘Welcome to masm!&#821…

    数据库 2023年6月11日
    087
  • 工厂模式

    工厂模式是java中最常用的设计模式之一,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一…

    数据库 2023年6月11日
    0102
  • Spring boot 项目配置 Maven 资源文件分离打包

    需要引入三个Maven插件: maven-jar-plugin:用于打包代码,并去除不需要一起打包的resource文件 maven-assembly-plugin:主要用来打压缩…

    数据库 2023年6月9日
    091
  • springboot~HandlerFunction和RouterFunction

    HandlerFunction和RouterFunction RouterFunction为我们应用程序添加一个新的路由,这个路由需要绑定一个HandlerFunction,做为它…

    数据库 2023年6月6日
    088
  • 深入浅出的分析 Hashtable

    作者:炸鸡可乐原文出处:www.pzblog.cn 一、摘要 在集合系列的第一章,咱们了解到,Map 的实现类有 HashMap、LinkedHashMap、TreeMap、Ide…

    数据库 2023年6月14日
    098
  • 2022-08-16 数据库查询语言之——-DQL

    重点,DQL是我们每天都要接触编写最多也是最难的SQL,该语言用来查询记录,不会修改数据库和表结构。 构建数据库 创建一张student表: DROP TABLE IF EXIST…

    数据库 2023年6月14日
    0108
  • 使用docker实现mysql 8.0主从复制

    使用docker实现mysql 8.0主从复制 1.首先运行 docker pull mysql8.0 拉取镜像 docker pull mysql8.0 2.运行 docker …

    数据库 2023年6月16日
    092
  • Java架构师电商项目(220h):1-1 整体架构概述

    2022 Flag:学完这门 220h Java架构师电商项目视频课学习笔记将持续更新…… ; 大型网站特点 高并发 高可用 大数据 迭代周期短 用户量庞大…

    数据库 2023年6月6日
    097
  • == 和 equals 的区别

    1. == 概念:==是一个比较运算符 == 既可以判断基本类型,又可以判断引用类型 ==判断基本类型时,判断的是值是否相等。示例:int i = 10; ==判断引用类型时,判断…

    数据库 2023年6月11日
    0108
  • Linux中的进程的服务和控制

    Linux中的进程 进程:已经启动的可执行程序的运行实例 1、PID:进程的ID(每一个新进程都有一个唯一的PID) 2、PPID:父进程的ID 3、任何一个进程都可以创建一个子进…

    数据库 2023年6月16日
    062
  • DRF使用缓存

    在做项目的时候,有时很多数据都是经常被访问的而且数据是基本不变的,比如省市区的数据是经常被用户查询使用的,而且数据基本不变化,所以我们可以将省市区数据进行缓存处理,减少数据库的查询…

    数据库 2023年6月14日
    078
  • vim+vundle配置

    Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用。一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能。一般流程都…

    数据库 2023年6月9日
    098
  • git 开发规范

    开发总结最重要的是文档和开发流程 文档最重要:记录开发学习的内容,可以是一种总结,此为其一。留下文档可助后生快速入门,减少学习和指导成本,此为其二。来日需要对项目二次开发或者重构追…

    数据库 2023年6月9日
    0152
  • Gorm 的黑魔法

    开发过程中,看到同事的代码写了这么一段: db = db.Session(&gorm.Session{Context: db.Statement.Context}).Fir…

    数据库 2023年6月9日
    0117
  • Docker Mysql安装和启动

    1、拉取mysql镜像 前往docker官网dockerhub在这里插入图片描述可以在红框内选择指定版本,例如 <span class=”token function”&gt…

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