HCRM博客

如何在CentOS上编译安装MySQL?

CentOS编译安装MySQL指南

一、准备工作

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

系统更新与依赖安装

在开始之前,确保你的centos系统已经更新到最新状态,打开终端并执行以下命令:

  • sudo yum update y

安装必要的编译工具和库:

  • sudo yum install y gccc++ cmake make ncursesdevel zlibdevel openssldevel bisondevel libaiodevel boostdevel

下载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的功能和性能,创建一个名为my.cnf的配置文件(可选):

如何在CentOS上编译安装MySQL?-图2
(图片来源网络,侵权删除)
  • [mysqld]
  • basedir = /usr/local/mysql
  • datadir = /usr/local/mysql/data
  • port = 3306
  • socket = /tmp/mysql.sock
  • user = mysql
  • symboliclinks=0
  • logerror=/usr/local/mysql/data/mysqld.log
  • pidfile=/usr/local/mysql/data/mysqld.pid

使用cmake生成编译文件:

  • cmake \
  • DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  • DMYSQL_DATADIR=/usr/local/mysql/data \
  • 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_BOOST=../boost \
  • DWITH_SSL=system \
  • DENABLED_LOCAL_INFILE=1 \
  • DWITH_SERVER_SUFFIX=8.0 \
  • DMYSQL_TCP_PORT=3306 \
  • DMYSQLX_TCP_PORT=33060 \
  • DWITH_UNIX_ADDR=ON \
  • DSYSCONFDIR=/etc \
  • DWITH_EMBEDDED_SERVER=1 \
  • DWITH_DEBUG=0 \
  • DWITH_WSREP=0 \
  • DDOWNLOAD_BOOST=1 \
  • DWITH_BOOST_LIBRARY_PATH=default \
  • DOPENSSL_CRL_ONLY=0 \
  • DMYSQL_MAINTENANCE_MODE=0

编译和安装

运行以下命令进行编译和安装:

  • make j$(nproc) && sudo make install

这个过程可能需要一些时间,具体取决于你的硬件配置。

三、配置MySQL

创建用户和组

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

  • sudo groupadd mysql
  • sudo useradd r g mysql mysql

初始化数据库

将MySQL目录的所有权更改为mysql用户:

如何在CentOS上编译安装MySQL?-图3
(图片来源网络,侵权删除)
  • sudo chown R mysql:mysql /usr/local/mysql

初始化数据目录:

  • sudo /usr/local/mysql/bin/mysqld initialize user=mysql

启动MySQL服务

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

  • sudo /usr/local/mysql/supportfiles/mysql.server start

或者,如果需要以后台守护进程的方式启动,可以使用:

  • nohup /usr/local/mysql/bin/mysqld_safe user=mysql > /dev/null 2>&1 &

设置root密码

登录MySQL并设置root密码:

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

四、常见问题解答(FAQs)

Q1: 为什么选择编译源码安装MySQL?

A1: 编译源码安装MySQL可以提供更高的定制性和灵活性,通过配置不同的编译选项,可以选择特定的存储引擎、字符集和其他功能,从而优化MySQL的性能和资源使用,源码安装可以确保MySQL与现有系统环境的兼容性,避免因预编译二进制包中的某些模块或库不兼容而导致的问题,虽然这种方法相对复杂,但对于需要高度定制化安装的场景,它是一个不错的选择。

Q2: 如何在CentOS上通过编译源码安装MySQL?

A2: 在CentOS上通过编译源码安装MySQL的步骤如下:确保系统已更新并安装了必要的编译工具和库;从MySQL官方网站下载MySQL源码包并解压;配置编译参数并生成编译文件;进行编译和安装,安装完成后,需要创建MySQL用户和组,初始化数据库,并启动MySQL服务,详细的步骤可以参考相关的技术文档或教程。

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

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