命令行连接数据库是开发和管理数据库的常见操作,不同数据库系统(如MySQL、PostgreSQL、SQLite等)使用的命令和参数略有差异,但基本流程相似,本文将详细介绍如何通过命令行连接主流数据库,包括准备工作、连接步骤、常见问题及解决方案,帮助用户快速上手。

准备工作:安装与配置
在连接数据库之前,确保已安装对应的数据库客户端工具,MySQL需安装mysql-client,PostgreSQL需安装psql,SQLite则通常自带命令行工具,需确认数据库服务已启动,并获取连接所需的信息,如主机名(或IP地址)、端口号、用户名、密码以及数据库名称,若数据库部署在本地,主机名通常为localhost,端口号为默认值(如MySQL的3306,PostgreSQL的5432)。
连接MySQL数据库
MySQL是广泛使用的开源关系型数据库,其命令行连接方式简单直观,打开终端,输入以下命令:
mysql -h 主机名 -P 端口号 -u 用户名 -p
连接本地MySQL数据库:
mysql -h localhost -P 3306 -u root -p
执行后会提示输入密码,正确输入后即可进入MySQL命令行界面,若要直接在命令中指定密码(不推荐,存在安全风险),可添加-p密码参数,但需确保命令历史不被泄露。
连接PostgreSQL数据库
PostgreSQL的连接命令与MySQL类似,但工具名称不同,使用psql命令:

psql -h 主机名 -p 端口号 -U 用户名 -d 数据库名
连接本地PostgreSQL的testdb数据库:
psql -h localhost -p 5432 -U postgres -d testdb
执行后会提示输入密码,PostgreSQL支持更复杂的连接参数,如SSL加密连接,可通过sslmode选项配置,例如sslmode=require。
连接SQLite数据库
SQLite是一款轻量级嵌入式数据库,无需单独的服务器进程,其命令行工具直接操作数据库文件,连接命令为:
sqlite3 数据库文件路径
打开当前目录下的example.db文件:
sqlite3 example.db
若数据库文件不存在,SQLite会自动创建新文件,SQLite的命令行界面支持SQL语句执行,但语法与其他数据库略有差异,需注意。

常见问题与解决方案
- 连接被拒绝:检查主机名、端口号是否正确,确认数据库服务是否运行,若远程连接失败,检查防火墙设置或数据库的远程访问权限(如MySQL的
user表中的host字段是否允许或具体IP)。 - 认证失败:确认用户名和密码正确,若忘记密码,需通过数据库配置文件或安全模式重置密码(如MySQL的
--skip-grant-tables模式)。
FAQs
Q1: 如何查看已连接的数据库信息?
A1: 在MySQL中,输入SELECT DATABASE();可查看当前数据库;在PostgreSQL中,使用\l列出所有数据库,\c 数据库名切换数据库;SQLite中,直接输入.databases可查看已打开的数据库文件。
Q2: 如何退出命令行连接?
A2: 在MySQL和PostgreSQL中,输入EXIT;或\q退出;SQLite中输入.exit或.quit,或直接按Ctrl+D。