如何在Unix/Linux进入不同数据库SQL命令行?

MySQL / MariaDB

  1. 安装客户端(如未安装)

    # Debian/Ubuntu
    sudo apt update && sudo apt install mysql-client
    # CentOS/RHEL
    sudo yum install mysql
  2. 连接数据库

    mysql -u 用户名 -p -h 主机地址 -P 端口
    • -u:用户名(如 root
    • -p:提示输入密码(密码输入时不可见)
    • -h:数据库服务器IP(本地可省略)
    • -P:端口号(默认3306可省略)
      示例

      mysql -u root -p  # 连接本地数据库
  3. 成功标志
    出现 mysql> 提示符,即可执行SQL命令(如 SHOW DATABASES;)。


PostgreSQL

  1. 安装客户端

    # Debian/Ubuntu
    sudo apt install postgresql-client
    # CentOS/RHEL
    sudo yum install postgresql
  2. 连接数据库

    psql -U 用户名 -d 数据库名 -h 主机地址 -p 端口
    • -U:用户名(默认用户 postgres
    • -d:数据库名(默认连接同名库)
      示例

      psql -U postgres -d testdb  # 连接本地testdb数据库
  3. 成功标志
    出现 数据库名=# 提示符(如 testdb=#)。


SQLite

  1. 安装SQLite

    # Debian/Ubuntu
    sudo apt install sqlite3
    # CentOS/RHEL
    sudo yum install sqlite
  2. 打开数据库文件

    sqlite3 数据库文件路径

    示例

    sqlite3 /data/mydb.db  # 打开现有数据库
    sqlite3 newdb.db       # 新建并打开数据库
  3. 成功标志
    出现 sqlite> 提示符。


Oracle Database

  1. 安装客户端
    需下载Oracle Instant Client(官网链接)。

  2. 连接数据库

    sqlplus 用户名/密码@主机地址:端口/服务名

    示例

    sqlplus scott/tiger@192.168.1.10:1521/ORCLCDB
  3. 成功标志
    出现 SQL> 提示符。


常见问题解决

  1. 连接被拒绝

    • 检查数据库服务是否运行:
      sudo systemctl status mysql    # MySQL
      sudo systemctl status postgresql # PostgreSQL
    • 确认防火墙开放端口(如3306、5432)。
  2. 命令未找到(Command not found)
    安装对应客户端(参考上文步骤)。

  3. 忘记密码

    • MySQL
      编辑配置文件 /etc/mysql/my.cnf,在 [mysqld] 下添加:

      skip-grant-tables

      重启服务后无密码登录,执行 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

  4. 权限不足
    联系管理员授权:

    GRANT ALL PRIVILEGES ON *.* TO '用户名'@'主机';
    FLUSH PRIVILEGES;

安全注意事项

  1. 避免明文密码
    不要直接在命令中写密码(如 -p密码),使用 -p 交互输入。
  2. 使用SSH隧道
    远程连接时建议加密:

    ssh -L 63306:localhost:3306 user@remote-server
    mysql -u root -p -P 63306  # 通过隧道连接
  3. 最小权限原则
    日常操作避免使用 root 账户。

引用说明

  • MySQL官方文档:https://dev.mysql.com/doc/
  • PostgreSQL官方文档:https://www.postgresql.org/docs/
  • SQLite命令行工具:https://sqlite.org/cli.html
  • Oracle Instant Client:https://www.oracle.com/database/technologies/instant-client.html

提示:操作需管理员权限时,命令前加 sudo,生产环境修改配置前务必备份数据。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6742.html

(0)
酷番叔酷番叔
上一篇 2025年7月8日 22:47
下一篇 2025年7月8日 22:57

相关推荐

  • a卡驱动Linux如何安装配置?

    在Linux系统中使用AMD显卡(简称A卡)驱动,对于许多用户来说是一个既重要又有时略显复杂的话题,与Windows系统下的“即插即用”不同,Linux需要用户掌握一定的驱动安装和管理知识,以确保硬件性能得到充分发挥,本文将详细介绍A卡驱动在Linux环境下的安装、配置及常见问题解决方法,帮助用户顺利完成显卡驱……

    2025年12月4日
    4400
  • 命令怎么用?快速掌握技巧

    理解命令结构(命令+参数/选项),查阅系统手册或在线教程学习具体命令语法,在终端逐行输入执行,注意区分大小写和空格,谨慎操作避免系统风险。

    2025年6月19日
    10700
  • ASP项目无法打开怎么办?

    要打开一个ASP项目,需要根据项目的类型、开发环境以及运行需求,逐步进行环境配置、文件解析和运行操作,以下是详细的步骤和注意事项,帮助您顺利打开并运行ASP项目,确认项目类型与运行环境ASP(Active Server Pages)是微软开发的服务器端脚本技术,主要分为经典ASP(.asp文件)和ASP.NET……

    2025年12月14日
    4000
  • 日语命令句怎么说最合适?

    日语中“这是命令”的表达需根据对象身份(上下级/亲疏)及紧急程度选择:对上级或正式场合用“お願いします”(请求式);对同事或一般情况用“~てください”(标准敬语);紧急时或对下级可用“~しろ/~しなさい”(直接命令形);对亲近者或委婉命令可用“~して”(省略形),无绝对标准,需灵活判断语境。

    2025年6月16日
    11600
  • netstat a命令有什么用?

    显示计算机所有活动TCP连接和UDP端口,包括正在监听的端口,帮助用户查看网络连接状态。

    2025年7月28日
    9300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信