目录
- 准备工作:确保 MySQL 服务器正在运行
- 使用 MySQL 官方命令行客户端 (最常用)
- 使用图形化客户端工具 (如 MySQL Workbench, DBeaver)
- 在编程语言中连接 (如 Python, PHP, Java)
- 连接参数详解
- 常见问题与解决方案
准备工作:确保 MySQL 服务器正在运行
在尝试连接之前,请确认你的 MySQL 服务器已经启动并正在监听连接。

-
在 Linux (使用 Systemd) 上:
sudo systemctl status mysql
如果没有运行,使用以下命令启动:
sudo systemctl start mysql
-
在 macOS (使用 Homebrew) 上:
brew services list
查看
mysql的状态,如果没有运行,使用以下命令启动:
(图片来源网络,侵删)brew services start mysql
-
在 Windows 上: 检查 Windows 服务,找到名为
MySQL80(版本号可能不同) 的服务,确保其状态为“正在运行”。
方法一:使用 MySQL 官方命令行客户端
这是最直接、最轻量的方式,通常在安装 MySQL 服务器时会一同安装。
基本连接语法
mysql -h <主机名> -P <端口号> -u <用户名> -p
-h(host): MySQL 服务器的地址,对于本地服务器,通常是localhost或0.0.1。-P(port): MySQL 服务器监听的端口号,默认是3306。注意是大写的 P。-u(user): 你要使用的 MySQL 用户名。-p(password): 提示输入密码。注意是小写的 p,为了安全,建议直接使用-p,而不是在命令后直接跟密码,这样密码不会出现在命令历史记录中。
实际操作示例
场景1:连接到本地的 MySQL 服务器 (最常见)
假设你的用户名是 root,密码是 your_password。

mysql -h localhost -P 3306 -u root -p
执行此命令后,终端会提示你输入密码:
Enter password:
输入密码后,按回车,如果密码正确,你将看到 mysql> 提示符,表示你已经成功连接到 MySQL 服务器了。
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 Server version: 8.0.26 MySQL Community Server - GPL Copyright (c) 2000, 2025, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
场景2:连接到远程的 MySQL 服务器
假设远程服务器的 IP 是 168.1.100,用户名是 remote_user,密码是 remote_pass。
mysql -h 192.168.1.100 -P 3306 -u remote_user -p
场景3:连接到特定数据库
连接成功后,你通常会需要选择一个数据库来操作,你可以在连接时就指定数据库:
mysql -h localhost -u root -p my_database_name
这样连接成功后,你将直接进入 my_database_name 数据库,无需再使用 USE my_database_name; 命令。
方法二:使用图形化客户端工具
图形化工具提供了更友好的用户界面,适合初学者和需要复杂操作的场景。
推荐工具
- MySQL Workbench: 官方提供的免费工具,功能强大,集成了管理、开发、数据建模等功能。
- DBeaver: 开源的通用数据库管理工具,支持多种数据库,非常流行。
- Navicat: 商业软件,功能非常全面,界面美观,是很多开发者的首选。
- TablePlus: 现代化的跨平台数据库工具,界面简洁美观。
以 MySQL Workbench 为例
- 打开 MySQL Workbench。
- 在主界面,点击 号来创建一个新的连接。
- 设置连接参数:
- Connection Name: 给这个连接起一个你喜欢的名字,"Local MySQL"。
- Hostname:
localhost(或0.0.1)。 - Port:
3306(默认)。 - Username: 你的 MySQL 用户名,
root。
- 点击 "Test Connection" (测试连接)。
- 系统会弹出对话框要求你输入密码,输入你的密码并点击 "OK"。
- 如果连接成功,会显示 "Successfully made the connection to the database server.",点击 "OK",然后点击 "Finish" 保存连接。
- 之后你就可以在主界面双击这个连接名称,登录到 MySQL 了。
方法三:在编程语言中连接
在应用程序开发中,你需要使用特定语言的数据库驱动来连接 MySQL。
Python 示例 (使用 mysql-connector-python 驱动)
-
安装驱动:
pip install mysql-connector-python
-
编写连接代码 (
connect.py):import mysql.connector from mysql.connector import Error try: # 创建一个连接对象 connection = mysql.connector.connect( host='localhost', # 或 '127.0.0.1' database='your_database_name', # 要连接的数据库名 user='your_username', password='your_password' ) if connection.is_connected(): db_info = connection.get_server_info() print(f"成功连接到 MySQL 服务器,版本: {db_info}") # 获取一个游标对象 cursor = connection.cursor() # 执行一个简单的查询 cursor.execute("SELECT database();") record = cursor.fetchone() print(f"你正在连接的数据库是: {record[0]}") except Error as e: print(f"连接错误: {e}") finally: # 关闭连接 if 'connection' in locals() and connection.is_connected(): cursor.close() connection.close() print("MySQL 连接已关闭。")
PHP 示例
PHP 通常内置了 MySQLi 或 PDO 驱动。
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database_name";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功!";
$conn->close();
?>
连接参数详解
| 参数 | 描述 | 示例 |
|---|---|---|
-h, --host |
MySQL 服务器的主机名或 IP 地址。 | -h 192.168.1.50 |
-P, --port |
MySQL 服务器监听的 TCP/IP 端口号,默认 3306。 |
-P 3307 |
-u, --user |
MySQL 用户名。 | -u app_user |
-p, --password |
密码,为了安全,建议单独输入。 | -p |
-S, --socket |
指定连接所用的 Unix 套接字文件,这通常用于本地连接,比 TCP/IP 更快。 | -S /var/run/mysqld/mysqld.sock |
-D, --database |
连接后直接选定的默认数据库。 | -D my_app_db |
--ssl-ca |
指定 SSL 证书颁发机构 (CA) 文件的路径,用于加密连接。 | --ssl-ca=/path/to/ca.pem |
常见问题与解决方案
问题1:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
- 原因: 这是最常见的错误之一,通常有两个原因:
MySQL 服务器没有启动。
