CentOS8部署LNMP环境之编译安装mysql8.0.29的教程详解

yizhihongxing

CentOS8部署LNMP环境之编译安装Mysql8.0.29的教程详解

简介

MySQL 是一个流行的关系型数据库管理系统,常用于 Web 应用程序的开发和部署。本教程将向您介绍如何在 CentOS 8 服务器上编译安装 MySQL 8.0.29。

步骤一:安装编译工具

在安装 MySQL 之前,需先安装编译 MySQL 所需的工具和库文件:

sudo dnf install -y gcc-c++ ncurses-devel cmake

步骤二:安装依赖库

MySQL 编译时需要一些依赖库,先安装这些库:

sudo dnf install -y libevent-devel libaio-devel

步骤三:下载 MySQL

MySQL 官网 下载源代码,本教程使用的版本是 MySQL 8.0.29:

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.29.tar.gz

步骤四:解压源代码

将下载的文件解压:

tar -zxvf mysql-8.0.29.tar.gz

步骤五:编译安装 MySQL

进入源代码目录,使用 cmake 工具进行配置,然后编译安装 MySQL:

cd mysql-8.0.29
sudo cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DWITH_DEBUG=0
sudo make
sudo make install

在编译过程中,-DCMAKE_INSTALL_PREFIX 用于指定 MySQL 的安装目录(默认为 /usr/local/mysql)。

步骤六:创建 MySQL 用户和组

MySQL 应该使用特定的用户和组来运行。然后,我们添加 mysql 用户和 mysql 组:

sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

步骤七:初始化 MySQL 数据库

使用以下命令初始化 MySQL 数据库:

sudo mkdir -p /usr/local/mysql/data
sudo chown -R mysql:mysql /usr/local/mysql
sudo /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  • --initialize-insecure 表示初始化数据库时直接创建空密码的 root 用户,安全性较低,因此不建议在生产环境中使用;
  • --user 指定运行 MySQL 的用户名;
  • --basedir 指定 MySQL 的安装目录;
  • --datadir 指定 MySQL 的数据目录。

步骤八:启动 MySQL

使用以下命令启动 MySQL:

sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &

步骤九:设置 MySQL 管理员的密码

用以下命令设置 root 用户的密码:

sudo /usr/local/mysql/bin/mysqladmin -u root password 'new_password'

测试示例

可以使用以下命令测试 MySQL 是否正常工作:

/usr/local/mysql/bin/mysql -u root -p

然后,在 MySQL 提示符下输入以下命令测试:

SHOW DATABASES;

我们可以看到数据库列表,表明 MySQL 安装成功:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

示例说明

在步骤五中,使用了 -DENABLED_LOCAL_INFILE=1,这是为了让 MySQL 支持本地数据导入。这样在导入数据时就不需要使用远程连接了。

在步骤七中使用了 --initialize-insecure,这种方法虽然简单,但不够安全,建议在生产环境中使用 --initialize 命令初始化数据库并设置 root 用户密码。

以上是 CentOS8 部署 LNMP 环境之编译安装 MySQL 的详细过程。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS8部署LNMP环境之编译安装mysql8.0.29的教程详解 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • mysql 5.6.17 绿色版(免安装)安装配置教程

    MySQL 5.6.17 绿色版(免安装)安装配置教程 下载MySQL 5.6.17 绿色版 首先需要从MySQL的官网下载MySQL 5.6.17绿色版的安装包,下载地址为:https://dev.mysql.com/downloads/mysql/5.6.html#downloads 选择对应的操作系统,下载zip压缩包。 解压MySQL 5.6.17 …

    database 2023年5月22日
    00
  • 详解Mysql两表 join 查询方式

    针对“详解MySQL两表Join查询方式”的问题,我整理了如下的攻略: 一、Join查询的介绍 Join查询是一种在MySQL数据库中用于联接两个或多个表的方法。它通过匹配两个或多个表中的数据列来组合产生一个新的、包含了来自多张表中字段数据的查询结果集。Join查询有很多种类型,包括内连接、左连接、右连接和全连接等。在本次攻略中,我们将会详解Join查询的两…

    database 2023年5月22日
    00
  • Mybatis传list参数调用oracle存储过程的解决方法

    针对“Mybatis传list参数调用oracle存储过程的解决方法”,本文将为您提供完整的解决方案,以下是具体步骤。 第一步:编写oracle存储过程 在oracle数据库中编写一个带有IN和OUT参数的存储过程,其中IN参数为待传递的list,OUT参数为需要返回的结果。存储过程如下: CREATE OR REPLACE PROCEDURE PROCED…

    database 2023年5月21日
    00
  • redis5 集群迁移方案

    Redis5 集群迁移方案     一、KEY优化 1.按原来要求进行优化与大KEY分拆。 二、现Redis 集群缩容(对业务无影响) 主节点按要求合并至3个主节点。 业务配置为3主4从 删除没有槽的主节点与相应从节点。 三、配置新Redis集群 按集群方式配置2个虚拟机或3台虚拟机(按最终集群要求,主从采用2个虚拟机,集群采用3台虚拟机,从节点先不建)。 …

    Redis 2023年4月12日
    00
  • SQL 对结果排序

    下面就给你讲解SQL对结果排序的完整攻略。 SQL对结果排序的完整攻略 在 SQL 中对结果进行排序有两种方式,分别是使用 ORDER BY 和使用 GROUP BY。下面详细介绍这两种方式。 使用 ORDER BY 进行排序 ORDER BY 语句用于对结果集按照一个或多个列进行升序或降序排序。它的语法如下: SELECT column1, column2…

    database 2023年3月27日
    00
  • SQL 和 MySQL 的区别

    SQL 和 MySQL 的区别 SQL 是什么? SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言。它可以被用于创建、修改和查询数据表以及控制和管理数据库的访问权限和安全性。SQL 语言被许多关系型数据库管理系统所采用,包括MySQL、Oracle、Microsoft SQL Server等。 MySQL 是什…

    database 2023年3月27日
    00
  • SQLServer中bigint转int带符号时报错问题解决方法

    下面我将详细讲解“SQLServer中bigint转int带符号时报错问题解决方法”的完整攻略。 问题描述 在 SQL Server 中,当我们使用 CONVERT(int, bigint_num) 将 bigint 类型的数据转换为带符号的 int 类型时,可能会遇到以下错误: Msg 8115, Level 16, State 2, Line 4 Ari…

    database 2023年5月21日
    00
  • oracle 批量删除表数据的几种方法

    Oracle 批量删除表数据的几种方法 在 Oracle 数据库中,我们可以使用以下几种方法批量删除表数据: TRUNCATE TABLE DELETE 通过 PL/SQL 编写存储过程实现删除 1. TRUNCATE TABLE TRUNCATE TABLE 是一种快速删除表数据的方法,其会直接清空表中的所有数据。但是, TRUNCATE TABLE 操作…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部