菜鸟科技网

命令行如何登录MySQL?

命令行登录MySQL是数据库管理中常用的操作方式,尤其适用于服务器环境或需要高效执行SQL指令的场景,以下是详细的操作步骤、注意事项及相关技巧,帮助用户顺利完成登录并管理MySQL数据库。

命令行如何登录MySQL?-图1
(图片来源网络,侵删)

确保系统已安装MySQL服务,并且环境变量中包含MySQL的bin目录路径,打开命令行工具(Windows下为CMD或PowerShell,Linux/macOS下为Terminal),输入以下基本命令尝试登录:

mysql -u 用户名 -p

-u后接MySQL的用户名(如root),-p表示需要输入密码,执行后会提示输入密码,输入时不会显示字符,这是正常的安全设计,若密码正确,即可进入MySQL命令行界面,显示类似mysql>的提示符。

如果MySQL服务未启动,需先启动服务,Windows下可通过服务管理器找到MySQL服务并启动,或使用命令:

net start mysql

Linux下则使用:

命令行如何登录MySQL?-图2
(图片来源网络,侵删)
sudo systemctl start mysql

对于远程登录MySQL,需指定主机地址:

mysql -h 主机IP -u 用户名 -p

mysql -h 192.168.1.100 -u root -p,此时需确保目标MySQL服务器允许远程连接(需修改user表中的host字段,或授权特定IP)。

登录后,可通过以下命令查看数据库列表:

SHOW DATABASES;

选择数据库使用:

命令行如何登录MySQL?-图3
(图片来源网络,侵删)
USE 数据库名;

USE test_db;

若忘记密码,可通过跳过权限表的方式重置,Windows下停止MySQL服务,以安全模式启动:

mysqld --skip-grant-tables

Linux下则修改配置文件my.cnf,在[mysqld]下添加skip-grant-tables,然后重启服务,登录后执行:

UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
FLUSH PRIVILEGES;

最后恢复配置并重启服务。

以下是常见登录参数的说明表:

参数 说明 示例
-u 指定用户名 -u admin
-p 提示输入密码 -p
-h 指定主机地址 -h 127.0.0.1
-P 指定端口号 -P 3307
-S 指定socket文件路径 -S /tmp/mysql.sock

登录后,可通过EXIT;QUIT;退出MySQL命令行界面,若遇到“Access denied”错误,检查用户名、密码及主机权限;若提示“Can't connect to MySQL server”,则检查MySQL服务状态、网络连接或防火墙设置。

在Linux/macOS中,可通过配置.my.cnf文件避免重复输入密码,文件内容如下:

[client]
user=用户名
password=密码

保存后,直接输入mysql即可登录,但需注意文件权限设置为仅当前用户可读(chmod 600 .my.cnf)。

对于需要频繁执行SQL脚本的情况,可通过以下命令直接执行文件:

mysql -u 用户名 -p 数据库名 < 脚本文件.sql

mysql -u root -p test_db < backup.sql

相关问答FAQs:

Q1: 忘记MySQL root密码怎么办?
A1: 可通过跳过权限表重置密码,具体步骤为:停止MySQL服务,以安全模式启动(Windows下mysqld --skip-grant-tables,Linux下修改my.cnf添加skip-grant-tables),登录后执行UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';,刷新权限并重启服务。

Q2: 如何设置MySQL允许远程连接?
A2: 登录MySQL后,执行GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码';(表示允许所有IP),或指定特定IP如'192.168.1.%',最后执行FLUSH PRIVILEGES;使权限生效,同时需检查服务器防火墙是否开放3306端口。

分享:
扫描分享到社交APP
上一篇
下一篇