命令行怎么切换数据库
- 数据库
- 2025-07-31
- 2390
USE 数据库名;语句即可
 切换
是关于如何在命令行中切换不同类型数据库的详细说明,涵盖主流关系型和非关系型数据库的操作步骤及注意事项:
MySQL/MariaDB
-  登录服务器:打开终端并输入 mysql -u 用户名 -p(或简写为mysql –user=用户名 –password),回车后系统会提示输入密码,若用户名与系统账户名一致,可直接使用mysql -p;
-  查看可用数据库列表:执行 SHOW DATABASES;获取当前所有存在的数据库名称;
-  切换目标数据库:输入 USE 数据库名;(USE mydatabase;),成功时会显示 “Database changed” 提示;
-  验证当前所在库:通过 SELECT DATABASE();确认已切换至目标库;
-  退出客户端:使用 EXIT;或快捷键Ctrl+D返回Linux shell。
️ 注意:切换仅对当前会话有效,新建连接需重复上述步骤,若目标库不存在,先用
CREATE DATABASE 库名;创建。
PostgreSQL
-  直接指定目标库登录: psql -U 用户名 -d 数据库名(首次连接即进入指定库);
-  先登录再切换:若未指定参数,则先以 psql -U 用户名进入主界面,再执行c 目标库名;
-  查看当前库上下文:内置变量 conninfo可显示连接信息,包括活跃的数据库名。
技巧:Tab键自动补全库名,提升输入效率。
MongoDB
-  基础连接方式: mongo --username 用户名 --password 密码 --authenticationDatabase admin(认证阶段默认使用admin库);
-  精准定位目标库:添加 --db 目标库名参数直接跳转,如mongo --host localhost --port 27017 --db testdb;
-  交互式切换:进入Shell后运行 use(‘new_db’),注意此处需用单引号包裹库名以避免语法错误。
ℹ️ MongoDB采用分片架构时,建议通过连接字符串明确指定节点地址。
SQLite
由于其文件型特性,只需通过文件路径即可加载数据库:sqlite3 /path/to/database.db,无需认证流程,特别适合本地快速测试,若文件不存在会自动创建新库。
Redis
作为键值存储系统,其命令行操作更简洁:redis-cli -h 主机IP -p 端口号,通过 SELECT DB索引号 切换数据库(默认共16个逻辑库,编号0~15)。SELECT 1 切换至第二个数据库。
通用原则与异常处理
| 场景 | 解决方案 | 
|---|---|
| 忘记密码 | MySQL可尝试重置root密码;PostgreSQL检查pg_hba.conf配置 | 
| 权限不足 | 执行 SHOW GRANTS FOR '用户'@'主机';查看权限分配,必要时联系DBA授权 | 
| 网络不通 | 确保防火墙开放对应端口(MySQL默认3306,PostgreSQL默认5432) | 
| 字符编码问题 | 在连接命令中增加 --default-character-set=utf8mb4(适用于MySQL) | 
| 客户端版本不兼容 | 更新至与服务器匹配的版本,尤其注意Major Version一致性 | 
典型工作流示例
假设需要从MySQL的生产环境迁移到测试环境:
- 备份源库结构:mysqldump -u dev_user -p production_db > backup.sql;
- 恢复至目标环境:mysql -u test_user -p test_db < backup.sql;
- 批量执行校验脚本:将多个SQL文件合并导入(source checklist.sql)。
FAQs
Q1: 如果提示“Unknown database”,该怎么办?
答:首先确认数据库真实存在(拼写正确且大小写敏感),若不存在则需要先创建,对于权限受限的情况,请联系管理员赋予相应访问权限,某些系统中可能需要刷新权限缓存(如MySQL执行 FLUSH PRIVILEGES;)。
Q2: 如何查看当前可用的所有数据库?
答:不同数据库有特定命令:MySQL/MariaDB使用 SHOW DATABASES;;PostgreSQL可通过元查询 SELECT datname FROM pg_database;;MongoDB则直接运行 show dbs,这些命令都会列出当前用户
 
  
			