尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Mac安装MySQL 5.7.11:临时密码、改密与彻底卸载指南

Mac安装MySQL 5.7.11:临时密码、改密与彻底卸载指南 简介Mac系统中安装与卸载MySQL 5.7.11的完整操作指南以PDF文档形式整理面向需要在macOS环境配置本地数据库的开发者和运维人员。文档从官网下载DMG安装包讲起涵盖逐步安装、临时root密码保存、通过系统偏好设置启动服务、以及在终端修改密码等关键环节卸载部分则提供完整的命令清单用于清理/usr/local、启动项、偏好设置、接收文件等残留内容并给出编辑hostconfig、检查残留目录的补充技巧避免因卸载不净导致重复安装失败。压缩包内仅含1个PDF文件大小47KB内容精炼可直接对照操作。目前已有1570人学习下载适合首次在Mac上安装MySQL 5.7.11或希望彻底清理旧版本后重装的用户参考。1. 在 Mac 上装 MySQL 5.7.11版本选型、临时密码和卸载这三件事先讲清楚干这行的应该都遇到过这种场景课程实验、公司老系统、或者某个交接项目的数据库版本被锁死在 MySQL 5.7.11跑也跑不掉装还装不顺利。mac 安装 mysql 5.7.11 本身不是多难的事但网上教程把坑都埋在细节里——安装最后一步弹出的临时密码、改密命令里的连字符、卸载时的残留文件随便一个没注意就能让你反复重装最后系统里全是半截文件。我按实际拆过的流程把安装、改密、卸载、排错完整过一遍。适合要跑老项目、做课程实验或者被卸载残留折磨过的人照着操作每一步都会说清楚为什么这么做。2. 安装链路与改密流程为什么走官方 DMG以及 mysqladmin 的参数细节2.1 版本与安装包选型DGM Archive 与 brew 路线的差别先说选型。MySQL 5.7.11 这个版本有个特点从 5.7.6 起安装包形态就开始变化到 5.7.11 的时候官网给出的 MySQL Community Server 安装包基本只有一个 DMG 主文件不再像 5.7 之前那样拆成多个安装文件。所以下载时直接认准页面最下方的 MySQL Community Edition进到 Community Server 下载页选 DGM Archive 版本就对了不用纠结其他格式。很多人第一反应是用 Homebrew 装执行 brew install mysql5.7。实际上这条路线在 Mac 上经常翻车最常见的就是 openssl 版本依赖对不上或者 brew 自动拉起的 mysqld 和系统里已有的旧配置冲突报错信息五花八门光看报错根本定位不到是哪一层的问题。官方 DMG 的好处是把 mysqld、客户端、配置模板、启动脚本都打成一个标准包路径固定为 /usr/local/mysql后续所有命令都基于这个路径排查起来比 brew 那套环境变量指向清晰得多。如果你只是临时跑课程作业brew 也能凑合但如果你要长期维护一个 5.7.11 的库或者公司环境就是这个版本我建议直接走官方 DMG。原因有三个一是路径固定/usr/local/mysql 下就是全部家当二是卸载清单明确第 3 章的清理命令就是针对这个目录结构写的三是 pkg 安装流程完全可控不会像 brew 那样在背后悄悄改配置。你后面会看到官方 DMG 装出来的 MySQL文件分布是高度可预测的哪一步出了问题都知道去哪个目录翻。2.2 安装步骤与临时密码的保存弹窗一闪而过怎么办下载好之后安装流程本身没什么花头双击 DMG运行里面的 pkg一路点继续。重点在最后一步——安装器完成时会弹出一个提示框里面是 root 用户的临时密码。这个密码是 MySQL 5.7 之后的强制机制root 初始密码随机生成且已标记为过期第一次登录必须先改密否则什么都干不了。所以安装时看到那个弹窗第一件事就是把它抄下来别点完确定就忘这一步忘了后面全是折腾。如果弹窗没看到或者不小心关掉了不要慌还有两个地方能找到。一是桌面右侧的通知中心安装完成的通知里通常会保留这条密码信息在触控板上右滑调出通知列表往上翻二是打开「钥匙串访问」搜索 mysql有时候 pkg 安装器会把临时密码写进钥匙串。这两个方案都试过还找不到那就只能硬着头皮走 2.3 节的改密流程——但改密命令强制要求先输旧密码旧密码丢了就得在服务端重置所以安装时截图存下来永远是最省事的办法。安装完成之后到「系统偏好设置」最下面一行找到 MySQL 面板点开之后选择 Start。这一步是把 MySQL 服务启动起来macOS 上 MySQL 安装器默认会注册一个系统管理面板不会像 Linux 那样装完自动拉起 mysqld。注意看面板上的状态提示如果启动时报错多半是历史残留的配置文件占住端口直接进第 3 章做清理。另外提醒一句如果你电脑上之前装过其他 MySQL 版本装 5.7.11 之前最好先看一眼 3306 端口有没有被占用。提示安装器最后一步弹出的临时密码是登录的唯一切入点。我在机器上装过十几次每次都在这一步截图存到密码管理器里因为后面改密命令强制要求先输旧密码旧密码丢了就得多绕一圈。2.3 修改临时密码mysqladmin 的交互流程与参数解读服务启动后打开终端按下面顺序执行cd /usr/local/mysql/bin/ ./mysqladmin -u root -p password执行后终端会先提示 Enter password:这时输入安装时拿到的临时密码。校验通过后会连续提示两次输入新密码New password: 和 Confirm new password:。两次输一致命令就执行完了终端会打印一行类似 Since password will be sent to server in plain text, use ssl connection to ensure password safety. 的提示这是 mysqladmin 在提醒你改密过程走的是明文传输警告级别不影响结果看到它反而说明改密动作已经成功。这里把参数拆开讲清楚。-u root 指定操作用户-p 让客户端以交互方式索取密码命令末尾的 password 是子命令告诉 mysqladmin 这次的动作是「修改密码」不是登录动作。整个命令可以拆成两部分记忆mysqladmin 是管理工具-u -p 是它的通用认证参数password 是它要执行的管理动作。理解了这层关系后面就不会犯用 mysqladmin 当登录客户端的错误。需要注意两点。第一命令里的连字符是英文半角 -不是全角破折号。网上很多文章直接复制过来变成 –ubash 会报 -bash: –u: command not found这个坑我在第 4 章里详细列。第二第一次执行 password 子命令时如果提示 Access denied先检查 MySQL 服务有没有真的启动再检查临时密码有没有输错。临时密码里如果带 $、! 这类特殊字符终端里建议直接复制粘贴避免 Shell 转义吃掉字符导致密码校验失败。2.4 登录验证mysql 客户端和 mysqladmin 的分工改密完成之后登录验证这一步经常有人做错。网上不少教程写的是再跑一次 mysqladmin -u root -p 输入新密码然后就说登录成功了——这是不对的。mysqladmin 是管理命令不是登录客户端它没有交互式 SQL 界面判断登录成功要看的是 mysql 客户端能不能进到 mysql 提示符。正确的验证是这样cd /usr/local/mysql/bin/ ./mysql -u root -p输入新密码后进入 mysql 提示符然后执行SELECT VERSION();能返回 5.7.11 就说明安装、改密、登录整条链路都通了。这里顺手区分一下mysql 是客户端用来跑 SQLmysqladmin 是管理工具用来做改密、ping、shutdown 这类运维操作。两者共用 /usr/local/mysql/bin/ 目录所以 cd 到该目录后两个命令都能直接调用。再补一个真实场景如果执行 mysql 时提示 Cant connect to local MySQL server through socket先不要怀疑密码去「系统偏好设置」里看 MySQL 服务状态或者执行 lsof -i:3306 看看端口有没有监听。服务没启动是新手阶段最高频的登录失败原因比密码输错还常见。改密成功后建议顺手退出终端再重新打开一次避免当前会话的环境变量残留影响后续判断。3. 卸载 MySQL一套命令把目录、启动项、偏好设置全部清掉3.1 卸载命令清单与清理范围卸载这个事网上能找到的命令很多但真正能「拆干净」的就那么几条。这套命令我验证过多次适用于官方 DMG 安装的 5.7.11顺序建议严格按下面的来# 删除主目录下的 mysql 快捷方式 sudo rm /usr/local/mysql # 删除带版本号的 mysql 目录和所有 mysql 开头的文件 sudo rm -rf /usr/local/mysql* # 删除系统启动项 sudo rm -rf /Library/StartupItems/MySQLCOM # 删除系统偏好设置面板 sudo rm -rf /Library/PreferencePanes/My* # 删除当前用户下的偏好设置 rm -rf ~/Library/PreferencePanes/My* # 删除安装收据防止系统认为 MySQL 仍然存在 sudo rm -rf /Library/Receipts/mysql* sudo rm -rf /Library/Receipts/MySQL* # 删除 pkg 安装器在系统数据库里留下的收据记录 sudo rm -rf /var/db/receipts/com.mysql.*每条命令的清理范围说清楚。第一条 sudo rm /usr/local/mysql 删掉的是安装器在 /usr/local 下创建的快捷方式这个快捷方式指向带版本号的真实目录第二条 sudo rm -rf /usr/local/mysql* 才是真正删掉 MySQL 本体也就是安装时解出来的 mysql-5.7.11-osx10.11-x86_64 这类目录注意这个通配符会连快捷方式一起覆盖所以即使第一条失败第二条也能兜底。中间四条分别是启动项、系统级偏好设置、用户级偏好设置、安装收据。启动项对应开机自启的 MySQLCOM 脚本偏好设置对应「系统偏好设置」里的 MySQL 面板收据和 receipts 记录是 macOS 判断「这个软件是否装过」的依据不删干净的话重装时安装器会认为 MySQL 已存在直接拒绝覆盖安装。最后一条 /var/db/receipts/com.mysql.* 属于 pkg 安装器在系统数据库里写的收据比 /Library/Receipts 藏得更深很多卸载教程会漏掉它。还有一个文件容易被忽略/etc/my.cnf。官方 DMG 安装器一般不会主动生成这个文件但如果你手动调过配置或者旧版本迁移留过卸载时顺手删掉避免重装后新实例读到旧的配置项。注意rm -rf 是永久性删除没有任何回收站后悔药。执行前先用 ls /usr/local/mysql* 确认路径里确实是 MySQL 相关文件别把自建目录套进来。手一抖删错目录的案例我在群里见过不止一次。3.2 hostconfig 与系统目录残留排查命令跑完之后还有一处容易漏/etc/hostconfig。这个文件里有一行 MYSQLCOM-YES-是 MySQL 安装时写入的启动标记。用 Vim 打开把它删掉vim /etc/hostconfig打开后找到 MYSQLCOM-YES- 这一行普通模式按 dd 删除然后 :wq 保存退出。如果没有这一行可能是新版本 macOS 已经不再用 hostconfig 管理服务了省略即可不影响清理结果。接下来做目录残留排查。打开 Finder用「前往 → 前往文件夹」快捷键 ShiftCommandG依次输入 /usr/local、/Library/LaunchDaemons、/Library/PrivilegedHelperTools 三个路径。重点看 /usr/local 下有没有重复的 mysql 目录或带版本号的 mysql-5.7.11 目录装过多次的话这里最容易叠出两份文件一份叫 mysql一份叫 mysql-5.7.11-osx10.11-x86_64这种就是上次卸载没删干净留下的。有的话直接拖进废纸篓或者再执行一次 sudo rm -rf 解决。/Library/LaunchDaemons 里如果看到 com.oracle.oss.mysql.mysqld.plist 或类似命名的 plist这是 LaunchDaemon 的自启配置需要一起删掉否则卸载后 mysqld 进程可能还在后台跑着下次开机又会自动拉起。/Library/PrivilegedHelperTools 下同理见到 mysql 相关的 helper 就删。这两个目录平时用户很少打开残留问题基本都藏在这里。3.3 卸载验证与重装前检查清理完不要急着装新包先验证三件事。第一看进程pgrep -fl mysqld有输出说明还有残留实例在跑用 sudo pkill -9 mysqld 先杀掉。第二看端口lsof -i:3306确认 MySQL 默认端口已经空出否则重装后启动会报 Address already in use。第三看命令which mysql 和 which mysqladmin正常情况下卸载后这两个命令应该找不到了如果还能找到说明 PATH 里还残留旧的 bin 路径引用去检查用户目录下的 .zshrc 或 .bash_profile。最后用 Finder 的「前往文件夹」再扫一遍 /usr/local确认只有干净的空目录没有 mysql 开头的文件。这几步全过了才算真正把 5.7.11 从系统里摘出去。重装前检查清单我固定是下面这几项检查项命令或位置通过标准进程残留pgrep -fl mysqld无输出端口占用lsof -i:3306无监听命令路径which mysql mysqladmin无输出目录残留Finder 前往 /usr/local无 mysql 开头文件收据残留/var/db/receipts无 com.mysql 条目五项全绿再动手装可以省掉后面八成以上的重复安装问题。4. 避坑排查安装、改密、卸载中反复翻车的 5 个典型问题4.1 安装与改密阶段的坑问题一安装成功后找不到临时密码弹窗。现象pkg 安装到最后一步提示框一闪而过或者根本没看到root 临时密码不知道去哪了。原因MySQL 5.7 的安装器把临时密码放在安装完成通知里很多用户点太快直接关掉通知中心又默认折叠就看不见了。另一种情况是通知栏被系统清理历史通知已经被清除想翻都翻不出来。解决先在桌面右侧拉出通知中心往上翻安装时间点的通知再不行打开「钥匙串访问」搜索 mysql看有没有安装器写入的密码条目。两个都没有的话只能走改密命令重新设置但旧密码是必填项所以我还是建议安装时截图保存——这是最省事的后悔药。问题二mysqladmin 报 -bash: –u: command not found。现象复制网上的命令粘贴到终端执行后 Shell 直接报 command not found而且报错信息里能看到一个明显更宽的短横线字符。原因命令里的连字符在网页排版中被替换成了全角破折号 –U2013终端把它当成参数的一部分自然找不到 -u 这个选项。这是 mac 安装 mysql 教程里最常见的复制错误几乎所有从网页复制的命令都可能踩到。解决手动把命令里的 – 全部改成半角 -或者直接照本文代码块里的重新敲一遍。养成习惯凡是命令行参数一律不要从网页直接复制先过一遍编辑器看字符编码或者干脆自己手敲。4.2 卸载与重装阶段的坑问题三卸载后重装安装器提示 MySQL 已存在。现象执行完第 3 章的卸载命令双击新 DMG 安装pkg 安装器仍然提示「已检测到 MySQL 安装」装不进去。原因卸载命令漏掉了安装收据或 LaunchDaemon 配置。最常见的是 /Library/Receipts、/Library/Receipts 和 /var/db/receipts/com.mysql.* 没清干净pkg 安装器靠 receipts 判断软件状态收据还在就认为软件在。卸载残留这种东西有时候很玄学表面上看目录没了实际上一份 plist 就能卡住重装。解决回到 3.1 节逐条检查 /Library/Receipts、/Library/Receipts 与 /var/db/receipts/com.mysql.* 是否都已删除。另外看 /Library/LaunchDaemons 下有没有 com.oracle.oss.mysql.mysqld.plist有就一并删掉。删完后按 3.3 节的验证清单走一遍再重装。问题四sudo rm 报 Permission denied 或 Operation not permitted。现象卸载命令在终端执行部分文件报没有权限删除不干净。原因macOS 的 SIP 系统完整性保护会拦截对部分系统目录的写操作另外 mysqld 进程还在运行文件被占用也会导致删除失败。解决先确认系统偏好设置里 MySQL 已 Stop再用 pgrep -fl mysqld 确认没有残留进程有就 sudo pkill -9 mysqld。如果还是被拦截检查目标路径是否在 /System 下是的话属于 SIP 保护范围用普通卸载命令删不掉——但正常安装版 MySQL 不会装进 /System会这样基本都是之前被改过安装路径建议直接对照 /usr/local 的实际情况逐项处理。4.3 命令与工具误用带来的坑问题五拿 mysqladmin 当登录客户端用。现象按照某些教程改密后执行 ./mysqladmin -u root -p输入新密码后终端没有进入 SQL 交互界面只是打印一堆帮助信息或直接退出于是以为登录失败。原因mysqladmin 不是交互式客户端它的作用是执行管理命令比如 ping、shutdown、password 等。不带子命令直接跑相当于请求帮助页自然不会有 SQL 提示符这是教程本身写错导致的工具误用。解决登录一律用 mysql 客户端。执行 ./mysql -u root -p进入 mysql 提示符后用 SELECT VERSION() 验证。我在终端前贴了两个命令的用途说明顺手区分一下别让教程的错误变成你自己的操作习惯。5. 装完后的校验与固化习惯验证服务健康再把临时密码管起来5.1 用几步命令确认 MySQL 真的健康装完、改完密别急着跑业务代码先用几步命令确认服务是真的健康。我每次装完固定执行下面这一组# 检测服务是否存活返回 mysqld is alive 即正常 /usr/local/mysql/bin/mysqladmin -u root -p ping # 查看版本与当前连接用户 /usr/local/mysql/bin/mysql -u root -p -e SELECT VERSION(); SELECT CURRENT_USER(); # 查看端口监听状态正常应为 3306 lsof -i:3306第一条 ping 是最快的健康检查输入密码后返回 mysqld is alive 就说明服务在。第二条用 -e 参数让 mysql 客户端直接执行 SQL 并退出不进入交互界面适合脚本场景。第三条看 3306 端口是否被监听确认服务真的绑到了预期端口。这三条命令都过了再进业务不迟。5.2 把安装与卸载的习惯固化下来经验这东西不多踩几次坑记不住。我自己经历过一次最惨的翻车课程项目要求 5.7.11我在两天内把同一个版本装了三次、卸了两次最后一次卸载时漏了 /var/db/receipts 下的收据重装时 pkg 直接拒绝我当时差点想直接把整个用户目录备份重装系统。后来痛定思痛把安装和卸载流程固化成了一组固定动作安装前先检查 3306 端口是否空闲安装时临时密码截图进密码管理器改密后立刻执行 5.1 的校验三连卸载时命令清单逐条跑完再验证进程、端口、目录三项。从那以后我每次在 Mac 上装任何一个 MySQL 5.7.x都强制先走一遍第 3 章的卸载命令再动手哪怕系统里看起来没装过。这个习惯帮我挡掉了至少三次「半截安装」的尴尬——重装到一半才发现旧目录还在启动时报错又得从头来。把临时密码管起来、把卸载清单背下来这两件事做到位MySQL 5.7.11 在 Mac 上基本没什么真正难的问题。希望帮到你。本文还有配套的精品资源点击获取
返回列表