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

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日

相关文章

  • 使用SQL语句实现查询排序,顺序和倒序

    使用SQL语句实现查询排序是非常常见的操作,可以让我们以特定的属性进行排序,以便更好地理解数据。下面是细致的攻略: 1. 确定排序属性和排序顺序 在使用SQL语句进行排序时,需要先选择排序的属性和排序顺序。可以按升序或降序排列。对于文本数据类型,升序将按照A-Z的字母顺序进行排序,而降序将按照Z-A的字母顺序进行排序。对于数字数据类型,升序将按照从小到大的顺…

    database 2023年5月21日
    00
  • linux系统命令笔记整理

    让我来详细讲解一下“Linux系统命令笔记整理”的完整攻略。 总体思路 想要整理好Linux系统命令笔记,我们需要按照以下步骤来进行: 了解各个常用的Linux命令,包括用途、语法和参数,可以在官方文档或其他非官方的文档中查找。 把这些命令根据用途归为几个类别,比如操作文件、网络管理等等。 将分类好的命令整理成一个命令表格或者使用mindmap等工具绘制成图…

    database 2023年5月22日
    00
  • mysql数据库sql优化原则(经验总结)

    MySQL数据库SQL优化原则(经验总结) MySQL是广泛使用的关系型数据库,而SQL优化是MySQL性能优化的重要组成部分。下面是MySQL数据库SQL优化的原则和经验总结。 1. 避免使用SELECT *查询 SELECT *从数据库中取出所有的列,包括不需要的和无关的列,会浪费数据库的资源。最好只查询需要的列,将查询结果缩小到最小。 示例: — 不…

    database 2023年5月19日
    00
  • 在SQL中该如何处理NULL值

    在SQL中处理NULL值是很重要的,因为NULL值可能会对查询、统计等操作的结果造成影响。在SQL中可以使用以下的方法来处理NULL值: 1. 使用IS NULL或IS NOT NULL 对于一个列包含NULL值的记录,我们借助IS NULL或IS NOT NULL运算符来判断该列是否为空。IS NULL用于判断是否为空,IS NOT NULL用于判断是否不…

    database 2023年5月21日
    00
  • 详解MongoDB聚合查询的8种使用方法

    MongoDB聚合查询是对数据进行分组、过滤、排序、统计等操作的工具,可以帮助我们更快地得到想要的数据。本篇文章将详细介绍MongoDB聚合查询的完整攻略,包含以下内容: 聚合框架的概念和流程 聚合管道的操作符 聚合查询的代码示例 聚合框架的概念和流程 MongoDB聚合框架是一种将多个操作符组合在一起,对MongoDB数据集合进行数据变换的工具。聚合框架通…

    MongoDB 2023年3月14日
    00
  • 如何使用Python从数据库中读取数据?

    当需要从数据库中读取数据时,可以使用Python连接到数据库并执行SQL查询。以下是使用Python从数据库中读取数据的完整攻略: 连接数据库 要连接到数据库,需要提供数据库的主机名、用户名、密码和数据库名称。可以使用以下代码连接MySQL: import mysql.connector mydb = mysql.connector.connect( hos…

    python 2023年5月12日
    00
  • CentOS 6.3下给PHP添加mssql扩展模块教程

    下面是CentOS 6.3下给PHP添加mssql扩展模块的完整攻略。 1. 准备工作 在给PHP添加mssql扩展模块之前,需要先安装以下工具和库文件:- FreeTDS:用于提供连接到MSSQL服务器的支持。- PHP开发包:用于编译PHP扩展模块。- mssql扩展模块源代码:可从官方网站下载。 下面是安装命令: yum install freetds…

    database 2023年5月22日
    00
  • MYSQL神秘的HANDLER命令与实现方法

    MYSQL神秘的HANDLER命令与实现方法 什么是HANDLER命令? HANDLER是一种MySQL特有的命令,可以用来操作表的数据行而不需要执行SELECT语句。它允许用户对查询结果集进行类似于游标的操作,可以逐个地、有序地处理结果集的每一行。 HANDLER的实现方法 HANDLER的实现方法基于数据库引擎,在MySQL中,InnoDB引擎支持HAN…

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