MySQL,作为一款开源的关系型数据库管理系统,凭借其高性能、可靠性和易用性,在各类应用场景中广受欢迎
尽管MySQL 5.5已经是一个较旧的版本,但在某些特定环境中,它仍然是不可或缺的选择
本文将详细介绍如何在CentOS 7系统上安装MySQL 5.5,帮助你在这一经典版本上构建你的数据库环境
一、准备工作 在开始安装之前,请确保你的CentOS 7系统是最新的,并且你有足够的权限来安装软件
此外,由于MySQL 5.5可能不再受官方支持,因此你需要从可信的来源下载安装包
1.更新系统: 打开终端,执行以下命令来更新你的系统: bash sudo yum update -y 2.检查并卸载旧版数据库: 在安装新版MySQL之前,需要检查系统中是否已安装其他版本的MySQL或MariaDB
如果存在,需要将其卸载
可以使用以下命令来查找并卸载:
bash
rpm -qa | grep -i mysql
sudo yum remove 但请注意,在生产环境中,这样做可能会带来安全风险
bash
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo setenforce 0
如果需要永久禁用SELinux,可以编辑`/etc/selinux/config`文件,将`SELINUX=enforcing`改为`SELINUX=disabled`,然后重启系统
二、下载并安装MySQL 5.5
1.下载MySQL 5.5的RPM包:
你可以从MySQL官方网站或其他可信的源下载MySQL 5.5的RPM包 例如,使用wget命令直接从互联网下载:
bash
wget https://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-5.5.62-1.el7.x86_64.rpm-bundle.tar
2.解压RPM包:
下载完成后,解压RPM包:
bash
tar -xvf MySQL-5.5.62-1.el7.x86_64.rpm-bundle.tar
在解压后的目录中,你会看到多个RPM包,包括MySQL服务器、客户端、共享库等
3.安装MySQL服务器和客户端:
依次安装MySQL服务器和客户端RPM包:
bash
sudo rpm -ivh MySQL-server-5.5.62-1.el7.x86_64.rpm
sudo rpm -ivh MySQL-client-5.5.62-1.el7.x86_64.rpm
如果安装过程中遇到签名验证问题,可以尝试使用`--force --nodeps`选项来强制安装:
bash
sudo rpm -ivh MySQL-server-5.5.62-1.el7.x86_64.rpm --force --nodeps
4.安装其他必要的RPM包(可选):
根据需求,你还可以安装其他相关的RPM包,如MySQL开发包、测试包等 但通常,服务器和客户端包就足够了
三、初始化MySQL数据库并启动服务
1.初始化MySQL数据库:
在安装完成后,需要初始化MySQL数据库 执行以下命令:
bash
sudo /usr/bin/mysql_install_db --user=mysql
2.启动MySQL服务:
使用systemctl命令启动MySQL服务,并设置开机自启动:
bash
sudo systemctl start mysqld
sudo systemctl enable mysqld
3.验证MySQL服务状态:
你可以使用以下命令来验证MySQL服务的状态:
bash
sudo systemctl status mysqld
四、安全配置MySQL
1.运行安全安装脚本:
首次启动MySQL后,建议运行安全安装脚本来设置root密码、删除匿名用户、禁止root远程登录等 执行以下命令:
bash
sudo mysql_secure_installation
按照脚本提示完成各项安全设置
2.登录MySQL并设置密码(如果在安全安装脚本中未设置):
你可以使用以下命令登录MySQL,并设置root用户的密码:
bash
mysql -u root
SET PASSWORD FOR root@localhost = PASSWORD(your_password);
FLUSH PRIVILEGES;
五、配置MySQL远程访问
如果你需要从远程访问MySQL数据库,需要进行以下配置:
1.修改MySQL配置文件:
编辑`/etc/my.cnf`文件,找到`【mysqld】`部分,确保`bind-address`参数设置为`0.0.0.0`(表示监听所有IP地址)或你希望MySQL监听的特定IP地址
2.授予远程访问权限:
登录MySQL后,授予root用户或其他用户远程访问权限:
bash
GRANT ALL PRIVILEGES ON- . TO root@% IDENTIFIED BY your_password WITH GRANT OPTION;
FLUSH PRIVILEGES;
3.配置防火墙:
确保CentOS 7的防火墙允许MySQL端口(默认是3306)通过 执行以下命令:
bash
sudo firewall-cmd --zone=public --add