HCRM博客

如何在CentOS上安装MySQL源码?

在CentOS上安装MySQL源码是一个详细且复杂的过程,但通过以下步骤可以顺利完成,本文将详细介绍每一步操作,包括准备工作、下载源码、编译安装、配置MySQL以及登录设置等,文章末尾还提供了两个FAQ问题及其解答,以便读者更好地理解和操作。

一、准备工作

确保你的CentOS系统已更新到最新状态,并安装了必要的编译工具,使用以下命令进行更新和安装:

如何在CentOS上安装MySQL源码?-图1
(图片来源网络,侵权删除)
sudo yum update y
sudo yum install y gccc++ cmake make

这些工具是编译MySQL源码所必需的。

二、下载MySQL源码

从MySQL官方网站下载MySQL的源代码包,假设我们要安装MySQL 8.0.29,可以使用如下命令:

wget https://cdn.mysql.com//Downloads/MySQL8.0/mysql8.0.29.tar.gz
tar xzvf mysql8.0.29.tar.gz
cd mysql8.0.29

三、编译安装MySQL

1. 配置编译参数

在编译MySQL之前,需要配置编译参数,这一步非常重要,因为它决定了MySQL的功能和性能,使用cmake命令进行配置:

cmake \
    DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    DDEFAULT_CHARSET=utf8mb4 \
    DDEFAULT_COLLATION=utf8mb4_unicode_ci \
    DWITH_EXTRA_CHARSETS=all \
    DWITH_MYISAM_STORAGE_ENGINE=1 \
    DWITH_INNOBASE_STORAGE_ENGINE=1 \
    DWITH_PARTITION_STORAGE_ENGINE=1 \
    DWITH_READLINE=1 \
    DWITH_ZLIB=system \
    DWITH_LIBWRAP=0 \
    DWITH_DEBUG=0 \
    DENABLED_LOCAL_INFILE=1 \
    DWITH_SSL=system \
    DWITH_EMBEDDED_SERVER=1 \
    DWITH_PLUGIN_DIR="/usr/local/mysql/lib/plugin" \
    .

这些参数可以根据实际需求进行调整,以实现更高的定制性和灵活性。

2. 编译和安装

如何在CentOS上安装MySQL源码?-图2
(图片来源网络,侵权删除)

配置完成后,可以开始编译和安装MySQL:

make j $(nproc)
sudo make install

j $(nproc)表示使用所有可用的CPU核心进行编译,以提高编译速度。

四、配置MySQL

1. 创建MySQL用户和组

sudo groupadd mysql
sudo useradd r g mysql mysql

2. 初始化MySQL数据库

sudo chown R mysql:mysql /usr/local/mysql
sudo /usr/local/mysql/bin/mysqld initialize user=mysql

这将为MySQL生成一个临时密码,请记录下这个密码,稍后需要用到。

3. 启动MySQL服务

如何在CentOS上安装MySQL源码?-图3
(图片来源网络,侵权删除)
sudo /usr/local/mysql/bin/mysqld_safe user=mysql &

为了让MySQL服务在系统启动时自动启动,需要创建一个systemd服务文件:

sudo cat > /etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
After=network.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe
Restart=always
RestartSec=10
[Install]
WantedBy=multiuser.target
EOF

然后启用并启动MySQL服务:

sudo systemctl enable mysqld
sudo systemctl start mysqld

五、登录MySQL并设置root密码

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

输入之前生成的临时密码登录MySQL,然后设置root用户的新密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;
EXIT;

通过编译源码安装MySQL与使用RPM包安装相比,有以下区别:

特性 源码安装 RPM包安装
灵活性 高,可自定义编译选项 低,固定配置
兼容性 可确保与现有系统环境的兼容性 可能存在版本兼容问题
复杂性 较高,需要更多时间和专业知识 较低,操作简单
维护 较复杂,需手动管理更新 简单,通过包管理器轻松升级
社区支持 较好,但需要更多技术知识 非常好,文档丰富,易于解决

七、实践心得

1、备份:在进行任何重大操作前,确保备份重要的数据。

2、版本选择:选择适合你业务需求的MySQL版本。

3、安全性:确保设置强密码并限制root用户的远程访问。

4、性能调优:根据实际负载情况调整MySQL的配置文件。

八、FAQs

Q1:如何更改MySQL的数据目录?<br>

A1:在编译MySQL时,可以通过DMYSQL_DATADIR参数指定数据目录。<br>

cmake DMYSQL_DATADIR=/custom/data/dir ...
```<br>
编译完成后,确保该目录存在并且具有适当的权限。Q2:如何卸载通过源码编译安装的MySQL?<br>
A2:卸载通过源码编译安装的MySQL通常涉及删除安装目录和相关文件,停止MySQL服务:<br>

sudo systemctl stop mysqld

```<br>

删除安装目录和相关文件:<br>

sudo rm rf /usr/local/mysql
sudo rm rf /etc/my.cnf /etc/init.d/mysqld /var/lib/mysql/mysql.sock /var/log/mysqld.log /var/run/mysqld/mysqld.pid /usr/lib/systemd/system/mysqld.service
```<br>这只是一个基本的卸载过程,实际操作可能需要根据具体情况进行调整。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/13848.html

分享:
扫描分享到社交APP
上一篇
下一篇