菜鸟科技网

VPS数据库怎么查?用户名密码在哪?

要查看VPS(虚拟专用服务器)中的数据库,首先需要明确数据库的类型(如MySQL、MariaDB、PostgreSQL、MongoDB等),因为不同数据库的查看方法和工具存在差异,以下是针对常见数据库类型的详细操作步骤,包括连接方式、查询方法及注意事项,帮助用户高效、安全地访问和管理VPS数据库。

VPS数据库怎么查?用户名密码在哪?-图1
(图片来源网络,侵删)

准备工作:确认数据库环境与权限

在查看数据库前,需确保以下基础条件满足:

  1. 数据库类型确认:通过VPS命令行输入 mysql --version(MySQL/MariaDB)、psql --version(PostgreSQL)或 mongod --version(MongoDB)确认数据库版本及类型。
  2. 连接信息获取:包括数据库地址(默认为localhost)、端口(MySQL默认3306,PostgreSQL默认5432,MongoDB默认27017)、用户名及密码,这些信息通常在数据库安装时配置,或由VPS服务商提供。
  3. 权限检查:确保所用用户具备足够的查询权限,MySQL中需拥有 SELECT 权限,PostgreSQL需具备 CONNECTSELECT 权限,MongoDB需对目标数据库有 read 权限,若权限不足,需联系管理员授权(如MySQL可通过 GRANT SELECT ON database_name.* TO 'username'@'host'; 授权)。

通过命令行工具查看数据库

命令行是管理数据库最直接的方式,适合服务器端操作或远程SSH连接场景。

MySQL/MariaDB

MySQL和MariaDB(MySQL的分支)操作高度相似,核心工具为 mysql 客户端。

  • 连接数据库

    VPS数据库怎么查?用户名密码在哪?-图2
    (图片来源网络,侵删)
    mysql -h 数据库地址 -P 端口 -u 用户名 -p

    连接本地MySQL:mysql -h localhost -P 3306 -u root -p,输入密码后进入MySQL命令行。

  • 查看所有数据库

    SHOW DATABASES;

    结果示例:
    | Database |
    |-------------------|
    | information_schema |
    | mysql |
    | performance_schema |
    | your_database |

  • 切换数据库

    VPS数据库怎么查?用户名密码在哪?-图3
    (图片来源网络,侵删)
    USE your_database;
  • 查看数据库中的表

    SHOW TABLES;
  • 查询表数据

    SELECT * FROM table_name LIMIT 10;  -- 查询前10行数据
    SELECT column1, column2 FROM table_name WHERE condition;  -- 条件查询
  • 查看表结构

    DESCRIBE table_name;

PostgreSQL

PostgreSQL使用 psql 客户端,语法与MySQL略有不同。

  • 连接数据库

    psql -h 数据库地址 -p 端口 -U 用户名 -d 数据库名

    连接本地PostgreSQL:psql -h localhost -p 5432 -U postgres -d mydb,输入密码后进入 psql 环境。

  • 查看所有数据库

    \l

    结果示例:
    | Name | Owner | Encoding | Collate | Ctype | Access |
    |-----------|----------|----------|---------|-------|------------|
    | mydb | postgres | UTF8 | en_US | en_US | |
    | postgres | postgres | UTF8 | en_US | en_US | |

  • 切换数据库

    \c mydb
  • 查看当前数据库的表

    \dt
  • 查询表数据

    SELECT * FROM table_name LIMIT 10;  -- 查询前10行数据
    SELECT column1, column2 FROM table_name WHERE condition;  -- 条件查询
  • 查看表结构

    \d table_name

MongoDB

MongoDB是NoSQL数据库,使用 mongosh(新版)或 mongo(旧版)客户端。

  • 连接数据库

    mongosh 数据库地址:端口/数据库名

    连接本地MongoDB:mongosh localhost:27017/mydb,无需密码(若启用认证,需添加 -u 用户名 -p 密码)。

  • 查看所有数据库

    show dbs;

    结果示例:
    | Database | Size |
    |------------|-------|
    | admin | 0.000GB|
    | config | 0.000GB|
    | local | 0.000GB|
    | mydb | 0.001GB|

  • 切换数据库

    use mydb;
  • 查看当前数据库的集合(表)

    show collections;
  • 查询集合数据

    db.collection_name.find().limit(10);  -- 查询前10条数据
    db.collection_name.find({ field: value });  -- 条件查询
  • 查看集合结构

    db.collection_name.findOne();  -- 查看单条数据的字段结构

通过图形化界面工具查看数据库

对于不熟悉命令行的用户,图形化界面工具(GUI)更直观,支持可视化查询和管理。

MySQL/MariaDB:phpMyAdmin

phpMyAdmin是流行的Web端MySQL管理工具,需在VPS上部署(如通过LAMP/LNMP环境安装)。

  • 访问方式:浏览器输入 http://VPS_IP/phpmyadmin,输入数据库用户名和密码登录。
  • 操作步骤
    • 在左侧“数据库”列表中选择目标数据库;
    • 点击“表”列表中的表名,可查看表数据(浏览标签)、表结构(结构标签);
    • 点击“SQL”标签,可执行自定义查询语句(如 SELECT * FROM table_name WHERE id = 1)。

PostgreSQL:pgAdmin

pgAdmin是PostgreSQL官方GUI工具,支持跨平台(Windows/macOS/Linux)。

  • 安装与配置:下载并安装pgAdmin,添加服务器连接(右键“Servers”→“Create”→“Server”),输入VPS的数据库地址、端口、用户名及密码。
  • 操作步骤
    • 连接服务器后,展开左侧数据库树形结构,选择目标数据库;
    • 右键点击表名,选择“View Data”查看数据,“View/Edit Table”查看表结构;
    • 使用“Query Tool”执行SQL查询语句。

MongoDB:MongoDB Compass

MongoDB Compass是官方GUI工具,提供可视化查询和性能分析功能。

  • 安装与连接:下载并安装Compass,点击“Connect”,输入VPS的数据库地址、端口及认证信息。
  • 操作步骤
    • 在左侧“Databases”列表中选择目标数据库;
    • 点击集合名称,可在“Documents”标签中查看数据,支持条件筛选(如JSON格式查询条件);
    • “Schema”标签可展示集合的字段类型和索引信息。

通过远程连接工具查看数据库

若需从本地电脑访问VPS数据库,可通过SSH隧道或直接开放数据库端口(需谨慎,建议绑定特定IP并启用SSL)。

SSH隧道(推荐)

通过SSH加密隧道转发数据库端口,避免直接暴露数据库服务。

  • 操作步骤(以Windows为例,使用PuTTY)
    1. PuTTY中连接VPS,在“Connection”→“SSH”→“Tunnels”下添加转发:
      • 源端口:本地任意端口(如3307);
      • 目标:localhost:3306(数据库端口);
    2. 保存并打开SSH连接,本地工具(如Navicat)连接时,主机填 localhost,端口填 3307,用户名和密码为数据库凭据。

直接开放数据库端口(不推荐)

若需直接远程连接,需修改数据库配置文件(如MySQL的 /etc/mysql/mysql.conf.d/mysqld.cnf),将 bind-address 改为 0.0.0,并重启数据库服务,在VPS防火墙(如iptables、firewalld)开放对应端口,并限制访问IP(如仅允许公网IP访问)。

注意事项

  1. 安全性

    • 避免在命令行中直接暴露密码(使用 -p 时会提示输入,而非明文);
    • 数据库用户权限遵循最小化原则,避免使用root超级用户;
    • 敏感数据查询后及时关闭连接,防止未授权访问。
  2. 性能优化

    • 大数据量查询时,使用 LIMIT 分页,避免一次性加载过多数据;
    • 复杂查询前可通过 EXPLAIN 分析执行计划(如MySQL的 EXPLAIN SELECT * FROM table_name;)。
  3. 错误处理

    • 连接失败时,检查数据库服务是否运行(systemctl status mysql/systemctl status postgresql)、端口是否开放、用户名密码是否正确;
    • 查询语法错误时,根据数据库返回的提示(如MySQL的 ERROR 1064)修正语句。

相关问答FAQs

Q1: 忘记数据库密码怎么办?
A1:

  • MySQL/MariaDB:通过安全模式重置密码,停止数据库服务(systemctl stop mysql),跳过权限表启动(mysqld_safe --skip-grant-tables &),无密码登录后执行 UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root';,刷新权限(FLUSH PRIVILEGES;),重启服务。
  • PostgreSQL:切换到postgres用户(su - postgres),执行 psql -c "ALTER USER postgres PASSWORD '新密码';"
  • MongoDB:若未启用认证,直接启动mongosh修改;若已启用,需通过 --authbypass 参数启动服务后重置用户密码。

Q2: 如何查看数据库的存储大小?
A2:

  • MySQL/MariaDB
    SELECT table_schema AS '数据库', SUM(data_length + index_length) / 1024 / 1024 AS '大小(MB)' 
    FROM information_schema.tables 
    GROUP BY table_schema;
  • PostgreSQL
    SELECT datname AS '数据库', pg_database_size(datname) / 1024 / 1024 AS '大小(MB)' 
    FROM pg_database;
  • MongoDB
    db.stats();  -- 查看当前数据库大小

    db.runCommand({ listDatabases: 1, nameOnly: false }).databases.forEach(db => {
      print(db.name + ": " + db.sizeOnDisk / 1024 / 1024 + "MB");
    });
分享:
扫描分享到社交APP
上一篇
下一篇