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

相关推荐

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信