萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL Utilities 連接 MySQL 伺服器完整指南

三種連接參數提供方式

MySQL Utilities 支援三種指定連接參數(使用者、主機、密碼、埠、Socket)的方法:

  1. .mylogin.cnf(加密登入路徑,推薦):<login-path>[:<port>][:<socket>]
  2. 配置檔案(明文,1.5.0+ 支援):<config-file-path>[:<section>]
  3. 命令列直接指定(明文,不安全):<user>[:<passwd>]@<host>[:<port>][:<socket>]

方式一:使用 .mylogin.cnf(最佳實踐)

透過 mysql_config_editor 建立加密登入檔,不會在程序列表或日誌中洩露密碼。

建立登入路徑

# cd /usr/local/mysql5.6/
./bin/mysql_config_editor set --login-path=instance_3366 --host=localhost --user=root --port=3366 --password
Enter password: ********

查看已建立的登入資訊

./bin/mysql_config_editor print --login-path=instance_3366
[instance_3366]
user = root
password = *****
host = localhost
port = 3366

使用登入路徑連接

# 指定登入路徑
mysqlserverinfo --server=instance_3366 --format=vertical

# 或直接指定參數覆蓋
mysqlserverinfo --server=root@localhost:3366:/tmp/mysql3366.sock --format=vertical

方式二:使用配置檔案 (my.cnf)

在 my.cnf 中定義 [client] 區段:

[client]
port = 3366
socket = /tmp/mysql3366.sock
user = root

連接時指定配置檔路徑與區段:

mysqlserverinfo --server=/usr/local/mysql5.6/my.cnf[client] --format=vertical

優點: 比命令列安全;缺點: 明文儲存,檔案權限需嚴格控制(chmod 600)。

方式三:命令列直接指定(不推薦生產環境)

mysqlserverinfo --server=root:password@localhost:3306 --format=vertical

密碼會出現在程序列表(ps -ef)與 Shell 歷史記錄中,僅適合測試環境。

Python 庫開發時的連接方式

若自行開發工具,可使用下列三種方式傳遞連接參數:

  1. Python 字典:
dest_values = {
    "user": "root",
    "passwd": "secret",
    "host": "localhost",
    "port": 3308,
    "unix_socket": None
}
  1. 連接字串: <user>[:<passwd>]@<host>[:<port>][:<socket>]
  2. Server 類別實例: 直接傳遞已建立連接的 Server 物件。

字串解析可使用 options.parse_connection() 函數。

copyright © 萬盛學電腦網 all rights reserved