HCRM博客

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

在CentOS系统中编译安装MySQL是一个较为复杂的过程,但通过以下详细的步骤和逻辑清晰的指导,可以帮助您顺利完成安装,以下是具体的操作步骤:

一、准备工作

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

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

2、下载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之前,需要配置编译参数,这一步非常重要,因为它决定了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" \
       .

三、编译和安装MySQL

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

   make j$(nproc)  # 使用所有可用的处理器核心进行编译
   sudo make install

四、配置MySQL

1、创建MySQL用户和组:为了安全性,建议为MySQL创建一个单独的用户和组:

   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服务:使用mysqld_safe命令启动MySQL服务,并允许其在后台运行:

如何在CentOS上编译并安装MySQL?-图2
(图片来源网络,侵权删除)
   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

然后启用并启动MySQL服务:

   sudo systemctl enable mysqld
   sudo systemctl start mysqld

五、登录MySQL并设置root密码

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

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

在MySQL提示符下执行以下命令设置root密码:

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

六、与RPM包安装的比较

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

特点 编译源码安装 RPM包安装
灵活性 高,可根据需要选择不同的编译选项 低,固定的编译选项
兼容性 可确保MySQL与现有系统环境的兼容性 可能受限于RPM包的版本
复杂性 高,需要更多的时间和专业知识 低,简单易行
维护 较低,需要手动管理更新 较高,可以通过包管理器轻松升级
社区支持 较少,文档和问题解决可能不如RPM包丰富 较多,有较好的社区支持

七、实践心得

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

如何在CentOS上编译并安装MySQL?-图3
(图片来源网络,侵权删除)

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

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

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

通过上述步骤,我们成功地在CentOS中通过编译源码的方式安装了MySQL数据库,尽管这种方法相对复杂,但它能够提供更高的定制性和灵活性,对于需要高度定制化安装的场景,编译源码安装无疑是一个很好的选择。

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

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