如何在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

相关推荐

  • Windows 8如何快速打开命令提示符?

    Windows 8 提供多种可靠方式打开命令提示符:通过开始按钮右键菜单、搜索功能、运行对话框或文件资源管理器地址栏;需管理员权限时选择对应选项即可。

    2025年7月27日
    9900
  • 如何将file.log修改时间设为2025年元旦?

    touch命令在Linux和Unix系统中用于修改文件的时间戳(访问时间、修改时间),或创建新文件,其中-d选项(或–date)允许用户自定义时间戳,而非默认的当前时间,下面详细介绍其用法:-d选项的核心作用通过-d,可指定任意日期/时间格式,精确控制文件的时间戳,语法如下:touch -d "时间……

    2025年7月30日
    7700
  • 为何没有万能清除命令?

    操作系统设计理念不同,文件系统结构各异,安全机制要求严格,清除操作需精确控制目标与权限,避免误删系统文件或数据,不同平台(如Windows的del/rmdir与Linux的rm)遵循各自传统与安全策略,强制统一命令可能引发混乱或风险。

    2025年7月10日
    11200
  • auto.js选课怎么操作?步骤是什么?

    在数字化学习时代,选课效率直接影响学习进度与体验,Auto.js作为一款基于Android平台的自动化工具,能通过脚本模拟用户操作,实现选课流程的自动化,帮助用户快速锁定心仪课程,市面上的Auto.js版本众多,功能与安全性参差不齐,如何选择合适的软件成为关键,本文将从核心功能、安全性、易用性、更新维护及社区支……

    2025年12月12日
    5800
  • WinPcap如何操作?

    核心工具:WinDump(命令行捕获工具)WinDump是WinPcap官方提供的命令行工具(类似Linux的tcpdump),需先安装:安装WinPcap从官网下载安装包(https://www.winpcap.org),按提示完成安装,安装WinDump下载地址:https://www.winpcap.or……

    2025年8月8日
    9600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信