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

MySQL命令行里怎么改密码其实也没那么复杂,跟着步骤走就行了

你问我MySQL命令行里怎么改密码?这事儿听起来好像挺技术、挺吓人的,尤其是对那些不太熟悉命令行窗口的朋友来说,总觉得那是高手才碰的东西,但说真的,只要你跟着步骤一步步来,就会发现它其实没那么复杂,就跟照着食谱学做一道新菜差不多,咱们今天就不讲那些让人头晕的专业术语,就用大白话把这事儿说清楚,来源主要是我自己多年捣鼓MySQL的经验,以及MySQL官方手册里最基础的那部分操作说明,放心,我都会给你转化成容易懂的话。

你得先能进入那个“发号施令”的地方,也就是MySQL的命令行客户端,怎么进去呢?最常见的情况是,你已经知道现在这个MySQL的管理员账号(也就是root用户)的密码,打开你的终端(Windows叫命令提示符CMD或者PowerShell,Mac和Linux就叫终端),然后输入这样一行命令:

mysql -u root -p

敲下回车后,系统会提示你输入密码,这里要注意的是,你输入密码的时候,光标是不会移动的,也不会显示星号*,这不是出问题了,是Linux/Unix系统命令行为了安全故意这么设计的,你只管稳稳地输完密码,再按回车就行,如果密码正确,你就会看到一个欢迎信息,提示符也变成了 mysql>,恭喜你,这就意味着你已经成功登堂入室,可以在里面“指挥”MySQL了。

好了,现在你已经在MySQL的命令行里面了,像个将军一样坐在指挥所里,接下来就是要下达“更改密码”这个命令了,改密码的命令本身很简单,但这里有个小地方需要注意,就是MySQL的不同版本,命令写法稍微有点不一样,这是因为MySQL在升级的过程中,为了让系统更安全,修改了管理密码的机制,咱们分情况说,你先看看你用的是哪个版本的MySQL,如果你不清楚版本号,可以在刚登录成功的 mysql> 提示符下,输入 SELECT VERSION(); 然后回车,屏幕上就会显示出版本信息。

如果你用的是MySQL 5.7.6或更新的版本(包括MySQL 8.0这些)

这是现在更常见的情况,新版本里,改密码的命令非常直白,就是ALTER USER,假设我们要给root用户改密码,新密码我想设为 MyNewStrongPassword123!(这只是一个例子,你实际设的密码一定要复杂且只有你自己知道),那么命令就是这么写:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewStrongPassword123!';

看清楚了吗?结构就是:ALTER USER '用户名'@'主机名' IDENTIFIED BY '新密码'; 主机名那里,大多数情况下,你本地登录就是 localhost,如果用户是用来远程连接的,主机名可能是 或者其他IP地址,但初学者一般都是改 localhost 的这个,特别特别要注意的是,命令最后面那个分号 绝对不能少!在MySQL命令行里,分号就像我们说话时的句号,告诉它:“我这句话说完了,你可以执行了。” 忘了加分号,你敲回车它只会换行,等着你继续输入,不会干活。

输入完这条完整的命令,带上分号,然后大胆地按下回车,如果一切顺利,你会看到一行提示:“Query OK, 0 rows affected”,这就表示密码已经成功修改了!简单吧?

如果你用的是比较老的MySQL版本(比如5.7.5或更早的)

在老版本里,用的命令是 SET PASSWORD,命令长这个样子:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewStrongPassword123!');

这个命令也很好理解,SET PASSWORD FOR 后面跟上你要改的用户,等号右边用 PASSWORD() 这个函数把新密码包起来,同样,别忘了最后的分号,回车执行后,看到“Query OK”就是成功了。

现在还在用这么老版本的情况不多了,你很可能用不上这条命令,但知道有这么回事,万一遇到了也不慌。

密码改好了,怎么验证一下是不是真成功了呢?最直接的办法就是先退出MySQL命令行,再用新密码登录一次,在 mysql> 提示符下,输入 exit 或者 quit 然后回车,你就退出来了,然后再次执行最开始的那步:mysql -u root -p,这次输入你刚设的新密码,如果能正常登录,那就说明密码修改完美成功!如果提示密码错误,那就要回头检查一下,是不是输命令的时候哪里打错了,或者新密码记错了。

说到出错,新手最容易犯的几个错误我帮你列出来,你操作的时候留心一下:第一就是忘了最后的分号;第二是密码字符串没用单引号括起来;第三是用户名或主机名写错了,比如把 'root'@'localhost' 漏写了一半,命令执行出错没关系,MySQL会给你一个错误信息提示,你仔细读一下,大概能猜到是哪里出问题了,改正再试就行。

还得啰嗦两句密码安全,来源自MySQL官方安全建议的核心思想就是:密码一定要够强壮,别用 123456password 这种傻子都能猜到的密码,最好是大小写字母、数字、特殊符号混合起来,长度足够长,因为你改的可是root用户的密码,这是数据库的最高权限账户,就像家里的总闸开关,可得保管好了。

你看,整个过程分解开来,其实就是登录、输一条命令、验证,三步走,是不是并没有想象中那么复杂和可怕?命令行这东西,第一次用会觉得陌生,多用几次就熟了,关键是别怕试错,只要你不乱删数据库里的重要数据,只是改改自己的密码,大胆操作就是了,希望这个简单的步骤能帮你顺利搞定MySQL的密码修改。

MySQL命令行里怎么改密码其实也没那么复杂,跟着步骤走就行了