当前位置:首页 > 问答 > 正文

Linux环境下自己动手搞定MySQL 5安装全过程分享

开始)

前段时间,我在自己的Linux电脑上需要安装一个老版本的MySQL 5.7来测试一个旧项目,现在网上很多教程都是针对MySQL 8.0的,所以我就把自己的安装过程记录了下来,给有同样需求的朋友做个参考,我的系统是CentOS 7,但大部分步骤在其他的Linux发行版上也类似。

我得决定怎么安装,根据我查的资料(来源:MySQL官方文档和一些技术博客),在Linux上安装MySQL主要有几种方式:用系统自带的软件包管理器(比如yum)、下载官方的安装包、或者编译源码,为了省事和保证一致性,我选择了用MySQL官方提供的Yum仓库来安装,这样以后更新也方便。

第一步,添加MySQL的Yum仓库,因为默认的CentOS仓库里可能没有最新版本的MySQL 5.7,或者版本不对,我打开终端,用root用户操作,先下载这个仓库的安装包,我用的命令是(来源:基于记忆和官方安装指南):

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

下载完成后,安装这个仓库包:

rpm -ivh mysql57-community-release-el7-11.noarch.rpm

这个命令执行后,它就把MySQL的官方仓库地址添加到系统的软件源列表里了,可以检查一下有没有成功,看看/etc/yum.repos.d/目录下是不是多了mysql开头的repo文件。

第二步,开始安装MySQL服务器,命令非常简单:

Linux环境下自己动手搞定MySQL 5安装全过程分享

yum install -y mysql-community-server

这个命令会让yum自动处理所有依赖关系,然后把MySQL服务器、客户端以及其他必要的组件都下载并安装好,这个过程需要一点时间,取决于你的网速,安装完成后,系统会告诉你都安装了哪些东西。

第三步,启动MySQL服务,安装好了不代表它已经运行起来了,我们需要手动启动它,并且设置成开机自启,启动服务的命令是:

systemctl start mysqld

检查一下服务状态,看看是不是真的跑起来了:

systemctl status mysqld

Linux环境下自己动手搞定MySQL 5安装全过程分享

如果看到绿色的“active (running)”字样,就说明启动成功了,设置开机自启:

systemctl enable mysqld

第四步,也是最关键的一步,找到初始密码并进行安全设置,MySQL 5.7为了提高安全性,在第一次安装后会给root用户生成一个临时的随机密码,这个密码写在日志文件里,我们需要先把它找出来,根据网上的经验(来源:普遍的技术社区分享),密码通常在/var/log/mysqld.log这个文件中,可以用grep命令快速过滤出密码:

grep 'temporary password' /var/log/mysqld.log

命令行会返回一行记录,里面就包含了那个复杂的临时密码,把它复制下来。

第五步,运行安全配置向导,用刚才找到的临时密码登录MySQL:

Linux环境下自己动手搞定MySQL 5安装全过程分享

mysql -u root -p

输入密码后,就进入了MySQL的命令行界面,但是这个时候权限很有限,必须马上修改密码才能进行其他操作,MySQL提供了一个更简单的工具来做初始安全设置,叫mysql_secure_installation,我们退出MySQL命令行(输入exit),然后在系统终端里直接运行:

mysql_secure_installation

这个脚本会引导你完成一系列安全设置:

  1. 首先会让你输入当前的临时密码。
  2. 然后强制你设置一个新的root用户密码,这个新密码必须足够复杂,默认有密码强度要求。
  3. 接着会问你是否要移除匿名测试用户?当然选是(Y)。
  4. 是否禁止root用户远程登录?为了安全,如果你只在本地管理数据库,建议选是。
  5. 是否删除自带的测试数据库?这个数据库没用,选是删掉。
  6. 否立即重新加载权限表,让设置生效?选是。

走完这个流程,你的MySQL安装就基本安全了。

第六步,测试登录,再次用新密码登录MySQL:

mysql -u root -p

如果能成功进入MySQL命令行,并且可以执行一些像SHOW DATABASES;这样的简单命令,那么恭喜你,整个安装过程就大功告成了!

最后总结一下,整个过程其实不复杂,核心就是:添加仓库 -> 安装软件 -> 启动服务 -> 找到初始密码 -> 运行安全设置,虽然现在MySQL 8.0是主流,但很多老项目还是跑在5.7上,所以学会安装它还是挺有用的,希望这个简单的分享能帮到你们。 结束)