HCRM博客

如何在CentOS系统上编译并安装MySQL?

在 CentOS 系统中编译和安装 MySQL 数据是一个相对复杂的过程,但通过详细的步骤可以顺利完成,以下是一个完整的指南,包括准备工作、下载源码、编译安装、配置服务以及常见问题的解答。

一、准备工作

1、更新系统:确保你的 CentOS 系统已更新到最新状态,使用以下命令进行更新:

如何在CentOS系统上编译并安装MySQL?-图1
(图片来源网络,侵权删除)
   sudo yum update y

2、安装必要的编译工具:编译 MySQL 需要一些基本的编译工具,如gccc++cmakemake,使用以下命令安装这些工具:

   sudo yum install y gccc++ cmake make

二、下载 MySQL 源码

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

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

2、解压源码:下载完成后,解压源码包:

   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、编译和安装:配置完成后,开始编译和安装 MySQL:

   make j $(nproc)
   sudo make install

四、配置 MySQL

1、创建 MySQL 用户和组:为了安全起见,为 MySQL 创建一个专用的用户和组:

如何在CentOS系统上编译并安装MySQL?-图2
(图片来源网络,侵权删除)
   sudo groupadd mysql
   sudo useradd r g mysql mysql

2、初始化 MySQL 数据库:将 MySQL 数据目录的所有权更改为mysql 用户,并初始化数据库:

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

3、启动 MySQL 服务:手动启动 MySQL 服务:

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

4、创建 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

5、启用并启动 MySQL 服务:使用以下命令启用并启动 MySQL 服务:

   sudo systemctl enable mysqld
   sudo systemctl start mysqld

6、登录 MySQL:登录 MySQL 服务器并设置 root 密码:

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

在 MySQL 提示符下输入以下命令设置 root 密码:

如何在CentOS系统上编译并安装MySQL?-图3
(图片来源网络,侵权删除)
   ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';
   FLUSH PRIVILEGES;
   EXIT;

五、与 RPM 包安装的比较

1、灵活性:编译源码安装允许你根据需要选择不同的编译选项,从而获得更符合需求的功能和性能,可以选择特定的字符集、存储引擎等。

2、兼容性:编译源码时可以确保 MySQL 与现有系统环境的兼容性,避免因依赖问题导致的安装失败。

3、复杂性:编译源码安装相对复杂,需要更多的时间和专业知识,对于初学者来说,可能会遇到更多的问题。

4、维护:使用 RPM 包安装的 MySQL 更容易维护和更新,因为可以通过包管理器轻松升级,而编译源码安装的版本则需要手动管理更新。

5、社区支持:RPM 包安装通常会有更好的社区支持,包括文档和问题解决,而编译源码安装则可能需要自行解决遇到的问题。

六、实践心得

1、备份:在进行任何重大操作前,确保备份重要的数据,这可以防止在安装过程中出现意外情况导致的数据丢失。

2、版本选择:选择适合你业务需求的 MySQL 版本,不同的版本可能有不同的功能和性能特点。

3、安全性:确保设置强密码并限制 root 用户的远程访问,这可以提高 MySQL 数据库的安全性。

4、性能调优:根据实际负载情况调整 MySQL 的配置文件(如my.cnf),以优化数据库的性能,可以调整缓冲区大小、连接数等参数。

七、常见问题及解答(FAQ)

Q1: 为什么选择编译源码安装而不是使用 RPM 包?

A1: 编译源码安装提供了更高的定制性和灵活性,可以根据具体需求选择编译选项,它还能确保与现有系统环境的兼容性,这种方法相对复杂,需要更多的时间和专业知识,如果你对 Linux 系统和编译过程比较熟悉,且有特殊需求,可以考虑编译源码安装,否则,使用 RPM 包安装会更简单快捷。

Q2: 编译安装过程中出现错误怎么办?

A2: 如果遇到错误,首先查看错误信息,了解错误的具体原因,常见的错误包括依赖缺失、权限不足等,根据错误信息进行相应的解决措施,如安装缺失的依赖包、修改文件权限等,如果仍然无法解决,可以查阅官方文档或社区论坛寻求帮助。

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

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