要通过命令行打开并操作数据库,不同数据库系统(如MySQL、PostgreSQL、MongoDB、SQLite等)有不同的命令和参数,但核心逻辑都是通过客户端工具连接数据库服务,进而执行管理或查询操作,以下是详细步骤和注意事项,涵盖主流数据库的命令连接方法。

通用准备工作
在通过命令行连接数据库前,需确保以下条件满足:
- 安装数据库客户端工具:根据数据库类型安装对应的命令行客户端,如MySQL需安装
mysql-client,PostgreSQL需安装postgresql-client,MongoDB需安装mongosh,SQLite自带sqlite3命令(无需额外安装)。 - 确认数据库服务运行状态:数据库服务需已启动(如MySQL的
mysqld、PostgreSQL的postgresql、MongoDB的mongod),可通过系统服务管理命令检查(如systemctl status mysql)。 - 获取连接信息:包括数据库主机地址(
host,默认为localhost)、端口号(port,MySQL默认3306、PostgreSQL默认5432、MongoDB默认27017)、用户名(user)、密码(password)及目标数据库名(database)。
主流数据库命令连接方法
MySQL/MariaDB
MySQL是最常用的关系型数据库之一,通过mysql命令连接。
基本命令格式:
mysql [选项] [数据库名] [用户名]
常用参数说明:
| 参数 | 作用 | 示例 |
|——|——|——|
| -h, --host | 指定数据库服务器主机 | -h 192.168.1.100 |
| -P, --port | 指定端口号 | -P 3306 |
| -u, --user | 指定用户名 | -u root |
| -p, --password | 指定密码(建议交互输入,避免明文) | -p(输入时隐藏密码) |
| -D, --database | 连接后直接进入指定数据库 | -D test_db |
| -e, --execute | 直接执行SQL语句并退出(无需交互) | -e "SELECT * FROM users" |
示例操作:
- 连接本地MySQL(默认用户root,需输入密码):
mysql -u root -p
- 连接远程MySQL(主机192.168.1.100,端口3306,用户admin):
mysql -h 192.168.1.100 -P 3306 -u admin -p
- 直接执行查询并退出:
mysql -u root -p test_db -e "SELECT COUNT(*) FROM users;"
退出数据库:在mysql>提示符下输入exit;或quit;,或按Ctrl+D。
PostgreSQL
PostgreSQL是功能强大的开源关系型数据库,使用psql命令连接。
基本命令格式:
psql [选项] [数据库名] [用户名]
常用参数说明:
| 参数 | 作用 | 示例 |
|——|——|——|
| -h, --host | 指定主机 | -h localhost |
| -p, --port | 指定端口 | -p 5432 |
| -U, --username | 指定用户名 | -U postgres |
| -d, --dbname | 指定数据库名 | -d mydb |
| -W, --password | 强制提示输入密码 | -W |

示例操作:
- 连接本地PostgreSQL(默认用户postgres):
psql -U postgres -d mydb
- 连接远程PostgreSQL(需输入密码):
psql -h 192.168.1.100 -p 5432 -U admin -W mydb
特殊功能:
psql -l:列出所有数据库;c 数据库名:切换数据库;d 表名:查看表结构;q:退出。
MongoDB
MongoDB是流行的NoSQL文档数据库,使用mongosh(新版)或mongo(旧版)连接。
基本命令格式:
mongosh [连接字符串] [数据库名]
连接字符串格式:mongodb://[用户名:密码@]主机:端口/数据库名
常用参数说明:
| 参数 | 作用 | 示例 |
|——|——|——|
| --host, -h | 指定主机 | --host localhost |
| --port, -p | 指定端口 | --port 27017 |
| --username, -u | 指定用户名 | --username admin |
| --password, --pwd | 指定密码 | --password 123456 |
| --authenticationDatabase | 指定认证数据库 | --authenticationDatabase admin |
示例操作:
- 连接本地MongoDB(默认端口27017,进入test数据库):
mongosh
- 连接远程MongoDB(用户admin,密码123456,认证库admin):
mongosh "mongodb://admin:123456@192.168.1.100:27017/" --authenticationDatabase admin
常用命令:
show dbs:列出所有数据库;use 数据库名:切换数据库;db.集合名.find():查询数据;exit或Ctrl+C:退出。
SQLite
SQLite是轻量级嵌入式数据库,无需服务,直接通过sqlite3命令操作数据库文件。

基本命令格式:
sqlite3 [数据库名.db]
示例操作:
- 打开/创建数据库(文件名为
test.db):sqlite3 test.db
- 执行SQL语句(需以分号结尾):
sqlite> CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT); sqlite> INSERT INTO users (name) VALUES ('Alice');
特殊命令:
.tables:列出所有表;.schema 表名:查看表结构;.exit:退出数据库。
常见问题排查
-
连接失败提示“Access denied”:
- 检查用户名、密码是否正确;
- 确认用户是否有远程访问权限(如MySQL需执行
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password';并刷新权限FLUSH PRIVILEGES;); - 检查防火墙是否开放数据库端口(如Linux的
ufw命令:ufw allow 3306)。
-
“Can’t connect to MySQL server on ‘xxx’”:
- 确认数据库服务是否启动(
systemctl start mysql); - 检查主机地址和端口是否正确(默认
localhost仅支持本地连接,远程需用实际IP); - 确认网络是否可达(如
ping主机地址)。
- 确认数据库服务是否启动(
数据库命令连接对比表
| 数据库 | 连接命令示例 | 常用参数 | 退出命令 |
|---|---|---|---|
| MySQL | mysql -u root -p |
-h, -P, -D, -e |
exit; |
| PostgreSQL | psql -U postgres -d mydb |
-h, -p, -W, -l |
q |
| MongoDB | mongosh "mongodb://localhost:27017/" |
--host, --port, --username |
exit |
| SQLite | sqlite3 test.db |
无(直接指定文件名) | .exit |
FAQs
问题1:连接MySQL时提示“mysql: command not found”怎么办?
解答:这表明系统未安装MySQL客户端工具,可通过以下方式安装:
- Ubuntu/Debian:
sudo apt update && sudo apt install mysql-client - CentOS/RHEL:
sudo yum install mysql-community-client - macOS(使用Homebrew):
brew install mysql
安装完成后,重新执行连接命令即可。
问题2:如何在PostgreSQL中查看当前数据库的所有表?
解答:在psql交互界面中,使用以下命令:
dt:列出当前数据库的所有表(包括系统表);dt only:仅列出用户创建的表(排除系统表);- 若需查看特定表的详细结构,使用
d 表名。
查看当前数据库所有用户表:psql> dt only。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/15594.html