Windows环境下MySQL Shell连接报错“Not connected”求助
解决MySQL Shell中输入传统mysql命令返回“Not connected”的问题
嘿,我一眼就看出问题所在啦——你把MySQL Shell和传统的mysql命令行客户端搞混了!这俩虽然都是MySQL的工具,但使用方式完全不一样,你输入的那些命令是给传统mysql客户端用的,直接在MySQL Shell里敲当然会报错。
先给你理清楚关键区别:MySQL Shell是个多功能工具,支持SQL、JavaScript、Python三种交互模式;而你用的mysql -u root -p这类是传统mysql命令行客户端的启动命令,不能直接在MySQL Shell里用。
下面给你两种解决办法,选你顺手的来:
办法1:在MySQL Shell里正确连接数据库
- 打开MySQL Shell后,默认可能是JavaScript模式(提示符是
JS>),先切换到SQL模式:\sql - 然后用
\connect命令建立连接,格式是:\connect root@localhost:3306 - 按回车后输入密码,验证通过后提示符会变成
SQL>,这时候你就可以正常执行SQL语句了。
办法2:直接用传统mysql客户端(不用MySQL Shell)
如果你习惯用mysql -u root -p这种简单命令,别打开MySQL Shell,直接打开Windows的命令提示符(CMD)或者PowerShell:
- 如果你的MySQL安装目录下的
bin文件夹已经添加到系统环境变量,直接输入命令就行; - 没加环境变量的话,先切换到
bin目录(比如cd C:\Program Files\MySQL\MySQL Server 8.0\bin),再执行mysql -u root -p。
额外小技巧:检查连接状态
在MySQL Shell里不确定是否连接成功的话,输入这个命令就能查看:
\status
未连接时会显示Not connected,连接成功后会列出数据库版本、连接参数等详细信息。
至于为什么MySQL Workbench能正常连接?因为Workbench是图形化工具,它的连接逻辑和传统mysql客户端一致,所以不受这个问题影响~
内容的提问来源于stack exchange,提问作者Madhur
相关产品推荐
相关产品推荐

