本地连接 MySQL 数据库最常用方式是使用 mysql 命令行工具,需确保服务运行,执行 mysql -u 用户名 -p 输入密码即可;可选参数包括 -h 指定主机、-P 指定端口、-D 默认数据库等;常见失败原因有密码错误、权限限制、socket 路径不对或 bind-address 配置异常。
本地连接 MySQL 数据库,最常用、最直接的方式就是使用 MySQL 客户端命令行工具(mysql 命令)。前提是你的 MySQL 服务已安装并正在运行,且客户端工具可用(通常随 MySQL Server 或 MySQL Client 包一起安装)。
连接前必须确保 MySQL 服务已启动:
services.msc),查找名为 MySQL 或 MySQL80 的服务,状态应为“正在运行”
brew services list | grep mysql,状态应为 started
sudo systemctl status mysql 或 sudo systemctl status mysqld
在终端(macOS/Linux)或命令提示符/PowerShell(Windows)中输入:
mysql -u 用户名 -p
例如,用 root 用户连接:
mysql -u root -p
回车后会提示输入密码(输入时不会显示字符,输完直接按回车)。
可根据需要添加以下参数:
-h 127.0.0.1:显式指定主机为本地 IPv4 地址(走 TCP/IP 协议);不加默认可能走 socket 文件(Unix/Linux/macOS)-h localhost:效果类似,但部分系统下 localhost 会强制走 socket,而 127.0.0.1 强制走 TCP-P 3306:指定端口(默认 3306,一般不用写)-D 数据库名:连接后自动选择指定数据库,如 mysql -u root -p -D myapp
--socket=/tmp/mysql.sock(macOS/Linux):手动指定 socket 文件路径(当报错 “Can’t connect to local MySQL server” 且服务确实在运行时,可能需此参数)若执行 mysql -u root -p 后提示 ERROR 1045 (28000): Access denied 或 ERROR 2002 (HY000):
localhost 或 127.0.0.1 连接,不能用 % 远程通配;检查 SELECT host,user FROM mysql.user;
mysql --socket=xxx --no-defaults -u root -p 指定my.cnf 或 my.ini)中是否有 bind-address = 127.0.0.1(正常)或 bind-address = ::1(IPv6),避免设为 0.0.0.0 或注释掉导致绑定异常不复杂但容易忽略。连上后你会看到 mysql> 提示符,就可以执行 SQL 命令了。