关键词

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 的详细过程。

本文链接:http://task.lmcjl.com/news/14099.html

展开阅读全文