当前位置:首页 > 问答 > 正文

数据库管理 命令行操作 CMD中如何快速连接并管理数据库?

🌙深夜,开发者的电脑屏幕泛着冷光,数据库告警邮件像雪片般飞来……别慌!掌握CMD这把"瑞士军刀",你也能像超级英雄一样快速镇压数据库危机!

🚀 一、MySQL:老将的新装备(2025版)

# 闪电连接术
cd C:\mysql-8.0.43\bin  # 路径要换成你的安装目录哦
mysql -uroot -p123456 -h127.0.0.1 -P3306  # 本地默认端口
mysql -uroot -p123456 -h192.168.1.100  # 远程连接只需加IP
# 新特性:MERGE语句(2025年新增的核弹级功能)
MERGE INTO employees e
USING new_hires nh
ON e.id = nh.id
WHEN MATCHED THEN UPDATE SET e.salary = nh.salary
WHEN NOT MATCHED THEN INSERT VALUES(nh.id, nh.name, nh.salary);

💡 备份黑科技:
mysqldump -uroot -p123456 --single-transaction --routines --events mydb > 20250822_backup.sql
(2025年新增的--single-transaction参数,实现无锁备份)

🐘 PostgreSQL:开源贵族的优雅

# 连接三板斧(2025年Windows原生版)
psql -h localhost -U postgres -d mydb  # 本地连接
psql -h 192.168.1.200 -U app_user -W myappdb  # 远程连接(会提示输入密码)
# 2025年新增的压缩备份术
pg_dump -Fc -U postgres mydb > full_backup.dump  # 自定义格式备份
pg_restore -U postgres -d newdb full_backup.dump  # 快速还原
# 性能监控利器
SELECT * FROM pg_stat_activity WHERE state = 'active';  # 查看活跃连接

⚠️ 重要更新:PostgreSQL 17开始默认启用Zstandard压缩,备份文件体积直降70%!

数据库管理 命令行操作 CMD中如何快速连接并管理数据库?

🧳 SQLite:轻量级战神

# 即用即走模式(2025年最新姿势)
sqlite3 C:\projects\myapp.db  # 直接打开数据库文件
.tables  # 查看所有表
.schema users  # 查看表结构
# 2025年新增的窗口函数
SELECT id, name, 
ROW_NUMBER() OVER (ORDER BY score DESC) AS rank
FROM users;
# 备份三件套
.backup main backup.db  # 热备份
.dump  # 导出SQL
.restore backup.db  # 还原

🎯 冷知识:SQLite的.db文件可以直接用7-Zip打开查看,2025年依然保持这个神奇特性!

数据库管理 命令行操作 CMD中如何快速连接并管理数据库?

🔥 通用必杀技

  1. 密码忘了?
    MySQL:mysqladmin -u root password 'newpass' -p
    PostgreSQL:ALTER USER postgres WITH PASSWORD 'newpass';

  2. 端口被占用?
    netstat -ano | findstr :3306
    taskkill /PID 1234 /F (1234替换为实际PID)

  3. 权限管理
    MySQL:
    GRANT ALL PRIVILEGES ON mydb.* TO 'dev'@'%' IDENTIFIED BY 'pass';
    PostgreSQL:
    GRANT CONNECT ON DATABASE mydb TO app_user;

📌 2025年特别提示

  1. MySQL 8.0.43起默认禁用--skip-grant-tables,重置密码需用ALTER USER
  2. PostgreSQL 17的pg_hba.conf新增hostssl配置项,强制SSL连接
  3. SQLite 3.46.0开始支持RETURNING子句,操作后直接返回结果

💾 数据库管理员的终极浪漫,就是看着CMD窗口里飞驰而过的查询结果,掌握这些2025年最新操作,下次数据库告警时,你就能优雅地敲出:
systemctl restart mysql
(Windows用户请用net stop mysql && net start mysql 😉)

数据库管理 命令行操作 CMD中如何快速连接并管理数据库?

发表评论