如何进入mysql命令行:多系统操作方法
如何进入mysql命令行分为本地客户端方式、系统自带终端调用两种主流路径,Windows系统可通过cmd、PowerShell操作,Linux与macOS优先使用终端执行mysql指令,前提是你的环境已经配置好MySQL环境变量,未配置环境变量时需要切换到MySQL安装目录下的bin文件夹执行命令,远程连接还需要目标数据库开放对应端口、账号具备远程访问权限,本地无MySQL服务、端口被防火墙拦截都会导致连接失败。
如何进入mysql命令行之Windows操作
打开cmd或者PowerShell窗口,直接输入mysql-u用户名-p,按下回车后输入密码就能进入mysql命令行。如果系统提示不是内部命令,代表还没有配置环境变量,你需要找到MySQL安装路径里的bin目录,在地址栏输入cmd唤起终端,再执行相同连接指令。端口不是默认3306的实例,要在命令末尾添加-P参数指定端口,格式为mysql-u用户名-p-P端口号,大写P不能写成小写,小写p用来填写密码。
不建议直接在命令行把密码写在-p后面,明文密码会留在终端历史记录,存在信息泄露风险。
如何进入mysql命令行之Linux与macOS操作
打开系统终端程序,本地连接直接运行mysql-u用户名-p,回车输入密码完成登录。很多Linux发行版安装MySQL后,默认root账号只能通过socket本地登录,不能直接用密码登录,这种情况你可以先使用sudomysql免密进入,进入之后再修改账号的认证方式,切换成密码认证模式。远程连接其他服务器上的MySQL,需要增加-h参数填写服务器IP地址,完整示例为mysql-h192.168.1.100-u用户名-p。
| 连接方式 | 命令示例 | 适用场景 | 前置要求 |
|---|---|---|---|
| 本地默认端口 | mysql-uroot-p | 本机MySQL,端口3306 | 环境变量配置完成 |
| 本地自定义端口 | mysql-uroot-p-P3307 | 本机多MySQL实例 | 端口没有被占用 |
| 远程数据库连接 | mysql-h127.0.0.1-uroot-p | 跨服务器访问数据库 | 账号允许远程访问、防火墙放行端口 |
MySQL8.0版本调整了默认认证插件,部分旧客户端不支持caching_sha2_password插件,登录时会持续报错,你进入命令行之后,可以执行alteruser语句把账号认证插件修改为mysql_native_password,适配兼容性偏弱的客户端工具。
查看当前MySQL版本可以在进入命令行后输入selectversion();,快速确认数据库版本,方便匹配对应的语法规则。
该方法的适用边界是,你拥有数据库账号的登录权限,账号没有被锁定,数据库服务处于正常运行状态;账号被DBA设置了访问白名单,不在白名单内的IP无法建立连接。
退出mysql命令行,输入exit或者quit,按下回车即可回到系统终端。
服务未启动就执行连接命令,会提示Can'tconnecttoMySQLserver,你需要先启动MySQL服务,Windows在服务面板启动,Linux执行systemctlstartmysqld。
