双击那个熟悉的不部命绿色图标,屏幕一闪,内部黑框框跳出来,或外我敲下
mysql -u root -p,令也回车。运行等待我的不部命不是Enter password:,而是内部一行刺眼的红字:mysql 不是内部或外部命令,也不是或外可运行的程序或批处理文件。这行字我见过太多次了。令也每次在培训课上,运行总有学员举手喊我过去,不部命屏幕上都挂着这行字。内部有意思的或外是,十个喊我的令也人里,有八个是运行刚装完MySQL,兴冲冲地打开cmd就想连库的。剩下两个是重装了系统,忘了把MySQL装回来的。
别急着怀疑自己装错了。先回想一下,安装的时候,那个
Choose a Setup Type界面,你是不是一路点了Next?如果是,那问题就出在这儿——默认的Developer Default或Server only选项,不会把bin目录加进系统路径。MySQL安装程序压根没打算让你在命令行里直接敲mysql,它更希望你用自带的Workbench或者命令行客户端(那个单独的MySQL Command Line Client快捷方式)。解决办法不复杂,但得知道去哪儿找。打开你的MySQL安装目录,默认在
C:\Program Files\MySQL\MySQL Server 8.0\bin。复制这个路径。然后右键“此电脑”选属性,点“高级系统设置”,右下角有个“环境变量”按钮。在下半部分的“系统变量”列表里找到Path,双击它,点“新建”,把刚才复制的路径粘进去,确定,确定,确定。关掉cmd窗口,重新开一个。再敲mysql -u root -p,这回应该能弹出密码提示了。不过,我见过更隐蔽的坑。有个同事,按上面步骤改了Path,重启cmd,还是报同样的错。我过去一看,他改的是用户变量里的
Path,但cmd窗口是用管理员权限开的,权限不同,读的变量集也不同。要么两个Path都加上,要么就用普通权限的cmd窗口测。还有一次,某台机器上装了MySQL 5.7和8.0两个版本,路径里只有5.7的,但服务跑的是8.0,mysql命令倒是能用了,连上后版本对不上,报了一堆乱七八糟的语法错误。查了半天才发现是路径指向了旧版本。要是你嫌改环境变量麻烦,还有个更直接的土办法:直接用
cd命令切到bin目录再执行。比如cd C:\Program Files\MySQL\MySQL Server 8.0\bin,然后mysql -u root -p。这招治标不治本,每次都得切路径,但应急够用了。或者,你可以把bin目录下的mysql.exe拖个快捷方式到桌面上,双击它出来的窗口跟cmd里敲命令是一样的效果。说到底,这行报错不是MySQL坏了,也不是你电脑出了问题,纯粹是Windows没告诉cmd去哪儿找
mysql.exe。跟朋友约了在商场见面,你俩没说好是东门还是西门,结果你站在南门干等,还怪朋友没来——一个道理。路径这东西,就是给系统指路的。指对了,一切都顺了。下次再看到那行红字,别慌,先想想自己装完MySQL之后是不是忘了告诉系统它住在哪儿。改完环境变量,记得把开着的cmd窗口全关了重开,别图省事。我就是那个吃了好几次亏,才学会老老实实全关掉的人。
顶: 77766踩: 649






评论专区