服务器测评网
我们一直在努力

Linux怎么安装MySQL5.5,Linux安装MySQL5.5详细步骤

在Linux操作系统中安装MySQL 5.5是一项经典的数据库部署任务,尽管当前MySQL已更新至8.0版本,但许多企业级核心业务仍运行在MySQL 5.5上,以确保最大的兼容性和稳定性。要在Linux系统上成功安装MySQL 5.5,核心在于正确处理编译依赖环境(特别是cmake工具)、规范配置编译参数、以及严谨的权限管理。 推荐采用源码编译安装的方式,这种方式虽然比二进制包安装复杂,但能根据服务器硬件特性进行深度定制优化,且具有最高的灵活性。

Linux怎么安装MySQL5.5,Linux安装MySQL5.5详细步骤

环境准备与依赖库安装

在开始安装之前,必须确保系统环境干净且依赖完整,MySQL 5.5的编译构建过程与5.1及之前版本不同,它不再使用configure脚本,而是全面转向了cmake安装cmake是首要前提,为了支持MySQL的运行和编译,需要安装ncurses库、gcc编译器等。

通过包管理器安装基础依赖,以CentOS系统为例,执行以下命令:

yum install -y cmake gcc gcc-c++ ncurses-devel bison perl make

这一步至关重要,缺少ncurses-devel会导致编译报错,而缺少cmake则根本无法进行构建配置,对于Ubuntu/Debian系统,可使用apt-get安装对应的libncurses5-dev、cmake和build-essential等包。

为了防止端口冲突或残留文件影响新安装,建议检查系统中是否已存在MySQL或MariaDB的安装包或进程,如有,需彻底卸载并清理残留数据目录。

创建用户与目录结构

出于安全考虑,严禁使用root用户运行MySQL服务,我们需要创建一个专门用于运行MySQL的系统用户和组,并禁止其登录shell。

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

规划安装目录,通常将软件安装在/usr/local/mysql,数据目录放在/data/mysql(或/usr/local/mysql/data),创建目录并赋予正确的所有权:

mkdir -p /usr/local/mysql /data/mysql
chown -R mysql:mysql /usr/local/mysql /data/mysql

权限的归属错误是导致MySQL无法启动或无法读写数据文件的常见原因,务必确保mysql用户对数据目录拥有读写执行权限。

源码下载、编译与安装

获取MySQL 5.5的官方源码包是保证软件可信度(E-E-A-T原则)的最佳方式,建议从MySQL官方归档站下载。

Linux怎么安装MySQL5.5,Linux安装MySQL5.5详细步骤

下载并解压后,进入源码目录。cmake的配置参数是决定MySQL性能的关键环节,以下是一组经过优化的经典配置参数示例:

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_DEBUG=0

参数解析: DCMAKE_INSTALL_PREFIX指定安装路径,DMYSQL_DATADIR指定数据存储位置,DDEFAULT_CHARSETDDEFAULT_COLLATION统一了字符集为UTF-8,这对中文环境至关重要,配置完成后,执行makemake install编译过程耗时较长,建议使用make -j参数(如make -j 4)调用多核CPU并行编译,以大幅缩短等待时间。

初始化数据库与配置文件

编译安装完成后,MySQL并未完全就绪,必须初始化系统数据库(生成mysql库和test库等),进入安装目录,执行初始化脚本:

cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

注意: 在MySQL 5.5中,初始化脚本位于scripts目录下,这与5.7及之后版本位于bin目录下不同,初始化成功后,会在数据目录生成基础文件。

配置服务启动脚本和配置文件,将支持文件复制到系统服务目录:

cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

关于my.cnf配置文件,建议复制源码包中的默认模板到/etc/my.cnf

cp support-files/my-medium.cnf /etc/my.cnf

专业的运维建议: 在生产环境中,应根据服务器内存大小调整my.cnf中的innodb_buffer_pool_size参数,通常设置为物理内存的50%-70%。

启动服务与安全加固

执行service mysqld start(或systemctl start mysqld)启动服务,启动成功后,必须进行安全加固。MySQL 5.5默认root密码为空,这是极大的安全隐患

Linux怎么安装MySQL5.5,Linux安装MySQL5.5详细步骤

将MySQL命令路径加入环境变量或使用绝对路径登录:

/usr/local/mysql/bin/mysql -u root

登录后,立即修改root密码:

UPDATE mysql.user SET Password=PASSWORD('YourStrongPassword') WHERE User='root';
FLUSH PRIVILEGES;

建议删除匿名用户、禁止root远程登录(除非必要)以及删除test数据库,这些操作虽然可以通过mysql_secure_installation脚本在较新版本中自动完成,但在5.5中手动执行SQL命令更为精准可控。

常见问题与专业解决方案

在实际部署中,可能会遇到libaio缺失错误,表现为启动时提示“Got error: 127 from storage engine”。解决方案是安装libaiolibaio-devel,因为InnoDB引擎依赖此库进行异步I/O操作。

另一个常见问题是“Table ‘mysql.plugin’ doesn’t exist”,这通常是因为数据目录权限不正确或初始化未成功执行。检查/data/mysql目录下是否存在mysql文件夹,且所有文件的所有者是否为mysql用户,是排查此类问题的核心思路。

相关问答

Q1: MySQL 5.5 安装后启动失败,提示“Permission denied”,如何解决?
A1: 这是一个典型的权限问题,首先检查MySQL数据目录(如/data/mysql)及其子文件的属主是否为mysql用户,如果不是,请执行chown -R mysql:mysql /data/mysql,检查/tmp/mysql.sock文件的权限,确保MySQL用户有读写权限,查看SELinux状态,如果开启且配置不当,可能会阻止进程启动,可尝试临时关闭SELinux验证是否为该原因。

Q2: 编译安装MySQL 5.5时,提示“Could not find CMake_ROOT”怎么办?
A2: 这意味着系统未安装cmake或cmake未在环境变量PATH中,请先确认是否已安装:rpm -qa | grep cmakedpkg -l | grep cmake,若未安装,请使用yum或apt-get安装cmake,如果已安装但仍报错,可能是环境变量配置问题,可以尝试使用cmake的绝对路径来执行配置命令,或者将cmake的bin目录添加到PATH环境变量中。

赞(0)
未经允许不得转载:好主机测评网 » Linux怎么安装MySQL5.5,Linux安装MySQL5.5详细步骤