Shell中停止数据库的命令有哪些?不同数据库停机方法详解?
- 数据库
- 2025-10-10
- 6
在Shell中停止数据库通常需要执行特定的命令,这取决于你使用的数据库类型,以下是一些常见数据库的停止方法:
MySQL
要停止MySQL数据库,你可以使用以下命令:
mysqladmin u root p shutdown
这里,u root 是用户名,p 表示需要输入密码,你可以直接回车后输入密码。
PostgreSQL
对于PostgreSQL,你可以使用以下命令:
pg_ctl stop D /var/lib/postgresql/data
这里,D 后面跟着的是数据目录的路径。

Oracle
Oracle数据库的停止可以通过以下命令完成:
sqlplus /nolog <<EOF connect / as sysdba shutdown immediate; exit EOF
这里,/nolog 表示不启动SQL*Plus界面,connect / as sysdba 是连接到Oracle系统权限。
MongoDB
对于MongoDB,你可以使用以下命令:
mongod shutdown
或者,如果你使用的是MongoDB的shell:

MariaDB
MariaDB的停止可以使用以下命令:
mysqladmin u root p shutdown
SQLite
SQLite数据库通常不需要停止,因为它在关闭应用程序时自动关闭,但如果需要,可以使用以下命令:
sqlite3 your_database.db <<EOF .shutdown EOF
MySQL Workbench
如果你使用的是MySQL Workbench,你可以通过图形界面来停止数据库。
通用方法
对于某些数据库,你也可以使用系统服务来停止:
service mysqld stop
或者

systemctl stop mysql
下面是一个表格,归纳了上述数据库的停止命令:
| 数据库类型 | 停止命令 |
|---|---|
| MySQL | mysqladmin u root p shutdown |
| PostgreSQL | pg_ctl stop D /var/lib/postgresql/data |
| Oracle | sqlplus /nolog <<EOFnconnect / as sysdbanshutdown immediate;nexitnEOF |
| MongoDB | mongod shutdown 或 use adminndb.shutdownServer() |
| MariaDB | mysqladmin u root p shutdown |
| SQLite | sqlite3 your_database.db <<EOFn.shutdownnEOF |
| MySQL Workbench | 图形界面操作 |
| 通用 | service mysqld stop 或 systemctl stop mysql |
FAQs
Q1: 如何在没有密码的情况下停止MySQL数据库?
A1: 你可以在命令中不使用 p 参数,然后输入用户名后直接按回车,系统会提示你输入密码,为了避免每次都输入密码,你可以创建一个没有密码的root用户,或者使用配置文件来设置密码。
Q2: 如何检查数据库是否已经停止?
A2: 对于MySQL,你可以使用以下命令:
mysqladmin u root p ping
如果数据库正在运行,这个命令会返回一个响应;如果没有响应,则表示数据库已经停止,对于其他数据库,你可以使用相应的管理工具或命令来检查数据库状态。