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

在CentOS8上搭建LNMP(Linux+Nginx+MySQL+PHP)环境,MySQL是必不可少的组成部分,而对于MySQL的安装方式,网上有很多教程,但大多数都是使用yum或者二进制包,而本篇文章介绍的是源代码编译安装MySQL8.0.29的详细步骤。

一、下载MySQL源代码

首先需要从官网下载MySQL8.0.29的源代码包,下载链接为https://dev.mysql.com/downloads/mysql/。选择Source Code选项卡,然后找到MySQL 8.0.29的源代码包,下载后上传到服务器。

二、安装编译所需的依赖项

在编译安装MySQL之前,需要安装一些必要的依赖项,这里的依赖项包括gcc、gcc-c++、ncurses-devel、cmake和openssl-devel等。可以使用以下命令安装:

yum install -y gcc gcc-c++ ncurses-devel cmake openssl-devel

三、解压源代码包

将MySQL源代码包解压到某个目录下,可以使用以下命令:

# 先安装unzip工具

yum install -y unzip

# 解压MySQL源代码包

unzip mysql-8.0.29.zip -d /usr/local/src/

四、创建编译安装目录

在编译MySQL源代码之前,需要创建安装目录。可以使用以下命令创建:

mkdir /usr/local/mysql

chown -R mysql:mysql /usr/local/mysql

五、编译安装MySQL

1. 进入MySQL的源代码目录

cd /usr/local/src/mysql-8.0.29/

2. 创建MySQL编译后的构建目录

mkdir build

cd build

3. 运行cmake来生成Makefile

cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

-DWITH_BOOST=/usr/local/src/boost_1_72_0 \

-DWITH_SSL=system \

-DWITH_INNODB_MEMCACHED=ON \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=ON \

-DWITH_PARTITION_STORAGE_ENGINE=ON \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8mb4 \

-DDEFAULT_COLLATION=utf8mb4_general_ci

注释:

-DCMAKE_INSTALL_PREFIX:安装MySQL的目录,默认/usr/local/mysql。

-DMYSQL_DATADIR:MySQL的数据目录,默认/usr/local/mysql/data。

-DSYSCONFDIR:配置文件目录,默认/etc。

-DMYSQL_UNIX_ADDR:sock文件存放目录,默认/var/lib/mysql/mysql.sock。

-DWITH_BOOST:使用boost库。

-DWITH_SSL:启用或禁用SSL支持,默认为“system”,表示使用系统的SSL库。

-DWITH_INNODB_MEMCACHED:是否启用InnoDB Memcached插件。

-DMYSQL_TCP_PORT:MySQL的TCP端口,默认为3306。

-DENABLED_LOCAL_INFILE:是否启用本地文件导入,默认启用。

-DWITH_PARTITION_STORAGE_ENGINE:是否启用分区存储引擎。

-DEXTRA_CHARSETS:启用附加字符集,默认启用所有。

-DDEFAULT_CHARSET:默认使用的字符集。

-DDEFAULT_COLLATION:默认使用的排序规则。

4. 运行make命令进行编译

make

5. 运行make install命令进行安装

make install

六、初始化MySQL

MySQL安装完成之后,需要进行初始化。可以使用以下命令进行初始化:

cd /usr/local/mysql/

bin/mysqld --initialize --user=mysql

执行完命令后,会生成一个随机密码,请妥善保管。

七、配置MySQL

修改/etc/my.cnf文件,加入以下配置:

[client]

default-character-set=utf8mb4

[mysqld]

user=mysql

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/var/lib/mysql/mysql.sock

port=3306

default_storage_engine=InnoDB

character-set-server=utf8mb4

collation-server=utf8mb4_general_ci

pid-file=/usr/local/mysql/data/mysql.pid

log_error=/usr/local/mysql/data/mysql.err

log-bin=/usr/local/mysql/data/mysql-bin

binlog-format=ROW

server-id=1

transaction-isolation=READ-COMMITTED

[mysql]

default-character-set=utf8mb4

八、启动MySQL

可以使用以下命令启动MySQL:

# 启动MySQL服务

systemctl start mysqld

# 查看MySQL服务状态

systemctl status mysqld

九、运行安全脚本

运行以下命令来运行MySQL的安全脚本:

/usr/local/mysql/bin/mysql_secure_installation

此脚本将设置root密码、删除匿名用户、禁用root远程登录等操作。

十、总结

本篇文章详细介绍了在CentOS8上使用源代码编译安装MySQL8.0.29的步骤,总体难度较大,需要仔细地按照步骤进行操作。对于新手而言,建议使用yum安装MySQL,因为这种方式比较方便,而且容易操作。但是如果想要对MySQL进行更加深入的了解和掌握,源代码编译安装是必不可少的一项技能。

操作系统标签