DBAtlas · 数据库运维图谱

从命令行连接(CLI / 连接字符串)

Oracle

sqlplus app_user/password@//host:1521/service_name
# As SYSDBA: sqlplus sys/password@//host:1521/orcl AS SYSDBA

//host:port/service 是 'Easy Connect' 格式;也可使用 tnsnames.ora 中的 TNS 别名。

PostgreSQL

psql -h host -p 5432 -U postgres -d mydb
# With a URI: psql "postgresql://app_user:password@host:5432/mydb?sslmode=require"

为避免在命令行输入密码,使用 ~/.pgpass 文件或 PGPASSWORD 环境变量。

MySQL

mysql -h host -P 3306 -u root -p mydb
# Require TLS: --ssl-mode=REQUIRED

单独使用 -p(会提示输入密码);'mysql -pPassword' 形式会在进程列表中暴露密码。

SQL Server

sqlcmd -S host,1433 -U sa -P password -d mydb
# Windows authentication: sqlcmd -S host -E -d mydb

在较新的 go-sqlcmd 中,TLS 可能需要 -C(信任服务器证书)和 -N(加密)参数。

MongoDB

mongosh "mongodb://app_user:password@host:27017/mydb?authSource=admin"
# Replica set: ...mongodb://h1,h2,h3/db?replicaSet=rs0

authSource 通常是定义该用户的数据库(大多数情况下为 admin)。

Redis

redis-cli -h host -p 6379 -a password
# With TLS: redis-cli -h host -p 6379 --tls -a password
# Redis 6+ ACL: redis-cli -h host --user app --pass password

-a 在命令行中传递密码(会打印警告);安全登录请使用 REDISCLI_AUTH 环境变量。

在 DBAtlas 中打开 →