MySQL安装教程:5.7vs8.0版本选择+全系统安装步骤(含服务无法启动终极解决)

admin 数据库教程 3


装 MySQL 时是不是总在 5.7 和 8.0 之间犯难?选了新版本怕旧程序不兼容,用了老版本又担心安全漏洞。好不容易选好版本,安装完点启动,服务却死活没反应?别愁,今天兔子哥就把版本选择的门道、全系统安装步骤,还有服务启动不了的终极解决办法都讲清楚,新手跟着走,少走不少弯路。

一、先搞懂 5.7 和 8.0 该怎么选?


很多朋友问,这俩版本到底差在哪?先看张对比表:
对比项MySQL 5.7MySQL 8.0
发布时间2015 年2018 年
默认加密方式旧加密(mysql_native_password)强加密(caching_sha2_password)
性能稳定,适合老系统优化更好,支持更多新功能
兼容性对旧程序友好部分老工具可能连接不上

为什么 8.0 要用新加密?因为更安全啊,但有些老的开发工具,比如低版本的 Navicat,连 8.0 会提示 “加密方式不支持”。这时候选 5.7 更稳妥。要是你装 MySQL 是为了学新东西,或者项目用的是新框架,8.0 的新功能(比如窗口函数、JSON 增强)会更顺手。

二、全系统安装步骤(挑自己的系统看)


1. Windows 系统(以 Win11 为例)


不管 5.7 还是 8.0,步骤差不多:
  • 去官网下载对应版本的 MSI 安装包(记得选 64 位)。
  • 双击安装,选 “Server Only” 就够了,别装些用不上的组件。
  • 配置时,5.7 默认用旧加密,8.0 可以手动改成旧加密(新手建议改,省得后面连不上)。
  • 设个密码,比如 “mysql123”(别太简单,也别太复杂记不住)。
  • 安装完,在服务里看看 “MySQL57” 或 “MySQL80” 是不是启动了,没启动就右键 “启动”。

2. Linux 系统(Ubuntu 22.04)


用命令行装最方便:
  • 装 5.7:sudo apt install mysql-server-5.7
  • 装 8.0:sudo apt install mysql-server(默认就是 8.0)
  • 启动服务:sudo systemctl start mysql
  • 设密码:5.7 直接mysqladmin -u root password "新密码";8.0 得先sudo mysql进去,再ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

3. MacOS 系统(Ventura)


推荐用 Homebrew:
  • 装 5.7:brew install mysql@5.7,然后brew services start mysql@5.7
  • 装 8.0:brew install mysql,启动同上
  • 第一次登录,5.7 可能不用密码,8.0 得用mysql_secure_installation设密码

三、服务启动不了?终极解决办法


这是新手最常遇到的问题,别急,一步步排查:
  1. 端口被占用
    MySQL 默认用 3306 端口,要是被别的程序占了,就启动不了。

  • Windows:打开 cmd,输netstat -ano | findstr 3306,看哪个进程占了,任务管理器里结束它。
  • Linux/Mac:终端输lsof -i:3306,找到进程号,kill -9 进程号杀掉。

  1. 数据目录损坏
    这情况多发生在强制关机后。

  • 先停服务:Windows 在服务里右键 “停止”;Linux/Mac 输sudo systemctl stop mysql
  • 找到数据目录(Windows 一般在 “C:\ProgramData\MySQL...”,Linux 在 “/var/lib/mysql”),把里面的 “ib_logfile0” 和 “ib_logfile1” 删掉。
  • 重新启动服务,试试能不能起来。

  1. 权限不够
    Linux 和 Mac 容易出现,数据目录没权限。

  • 终端输sudo chown -R mysql:mysql /var/lib/mysql(Linux),或sudo chown -R _mysql:_mysql /usr/local/var/mysql(Mac)。
  • 再启动服务,应该就没问题了。

四、自问自答几个关键问题


问:装了 8.0,老工具连不上怎么办?
答:登录 MySQL 后,输ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';,改成旧加密方式就行。
问:5.7 以后会停更吗?
答:官方说 5.7 支持到 2026 年,现在用还很安全,但新项目建议直接上 8.0,省得以后升级麻烦。

兔子哥的个人建议


要是你是纯新手,先从 5.7 开始练手,出问题网上教程多,容易找到解决办法。等熟悉了,再试试 8.0 的新功能。安装时别图快,每一步看清楚再点,尤其是设密码和选加密方式的时候。
服务启动不了别慌,按上面的步骤排查,90% 的问题都能解决。实在搞不定,卸载干净重新装一次,有时候比死磕更快。我自己刚开始学的时候,光因为端口占用就卡了一下午,后来才发现是之前装的另一个数据库占了 3306,删掉就好了。
希望这篇教程能帮到你,有啥解决不了的,评论区问我,我看到会回的!

标签: mysql-server-5.7 mysql-server

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~