開發/腳本場景下,避免命令行明文密碼,兩種標準方式:
my.cnf / my.ini[client]
host=localhost
port=3306
user=root
password=your_pwd
default-character-set=utf8mb4
/etc/my.cnf 或 ~/.my.cnf(權限 chmod 600)。my.ini 安裝目錄或 %APPDATA%\MySQL\my.ini。mysql 直接進入,無需 -u -p。| 變量 | 作用 |
|---|---|
MYSQL_HOST | 默認主機 |
USER | Windows/NetWare 下默認用戶 |
MYSQL_PWD | 默認密碼 (不安全,進程列表可見) |
MYSQL_TCP_PORT | TCP 端口 |
MYSQL_UNIX_PORT | Unix socket 路徑 |
export MYSQL_HOST=10.0.0.1
export MYSQL_PWD='s3cr3t'
mysql # 直接連接
~/.my.cnf + chmod 600。mysql_config_editor 加密存儲(MySQL 5.6+):mysql_config_editor set --login-path=local --host=localhost --user=root --passwordmysql --login-path=local。--password= 留空,交互式輸入,或讀取 stdin。MYSQL_DEBUG:啟用客戶端調試跟蹤。MYSQL_HISTFILE:自定義 .mysql_history 路徑。MYSQL_PS1:自定義提示符(如 '\\u@\\h [\\d]>')。TMPDIR:臨時文件目錄(大排序/臨時表受益)。