HCRM博客

如何在CentOS上通过源码安装MySQL?

在CentOS系统上通过源码安装MySQL,可以提供更高的定制性和灵活性,以下是详细的步骤和相关信息:

一、准备工作

1、更新系统:确保CentOS系统已更新到最新状态,并安装了必要的编译工具。

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

2、下载MySQL源码:从MySQL官方网站下载所需版本的源码包。

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

二、配置编译参数

配置编译参数是决定MySQL功能和性能的关键步骤,以下是一个示例配置命令:

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。

make j $(nproc)
sudo make install

编译过程可能需要一些时间,具体取决于系统性能。

四、配置MySQL

1、创建用户和组:为MySQL创建专用的用户和组。

如何在CentOS上通过源码安装MySQL?-图2
(图片来源网络,侵权删除)
   sudo groupadd mysql
   sudo useradd r g mysql mysql

2、初始化数据库:将MySQL安装目录的所有权转移给mysql用户,并初始化数据库。

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

3、启动MySQL服务:使用mysqld_safe命令启动MySQL服务,并在后台运行。

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

4、创建systemd服务文件:为了让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服务

   sudo systemctl enable mysqld
   sudo systemctl start mysqld

五、登录MySQL并设置root密码

登录MySQL并设置root用户的密码。

sudo /usr/local/mysql/bin/mysql u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;
EXIT;

至此,MySQL数据库已经成功安装并运行。

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

六、与RPM包安装的比较

特性 源码安装 RPM包安装
灵活性 高,可以根据需要选择不同的编译选项 低,只能使用预编译的包
兼容性 高,确保与现有系统环境的兼容性 中,依赖于系统自带的库和依赖
复杂性 高,需要更多的时间和专业知识 低,操作简单,适合新手
维护 低,需要手动管理升级和补丁 高,可以通过包管理器轻松升级和维护
社区支持 中,文档和问题解决资源较少 高,通常有更好的社区支持和文档

七、实践心得

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

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

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

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

八、常见问题解答(FAQs)

Q1:如何更改MySQL的默认端口?

A1:可以在编译时通过添加DMYSQL_TCP_PORT=自定义端口号来更改默认端口。

cmake DMYSQL_TCP_PORT=3307

或者在配置文件中修改my.cnf文件,添加或修改[mysqld]部分的port参数:

[mysqld]
port=3307

然后重启MySQL服务使更改生效。

sudo systemctl restart mysqld

Q2:如何卸载源码安装的MySQL?

A2:卸载源码安装的MySQL需要删除安装目录和相关的配置文件,首先停止MySQL服务:

sudo systemctl stop mysqld

然后删除安装目录和数据目录:

sudo rm rf /usr/local/mysql
sudo rm rf /var/lib/mysql

删除systemd服务文件:

sudo rm /etc/systemd/system/mysqld.service

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

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