首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 常用命令行技巧 7 選:自動切庫、免密登入、輸出導向、Tab 補全、提示符、安全更新、腳本執行

     編輯:MySQL 資料庫相關知識

1. 自動切換預設資料庫

# ~/.my.cnf / C:\ProgramData\MySQL\my.ini
[client]
database = your_db
# 登入後自動 USE your_db

2. 免密自動登入 (配合權限 600)

# ~/.my.cnf
[client]
host = localhost
user = your_user
password = your_pass
# chmod 600 ~/.my.cnf

一年省下數千次輸入,累積數小時。

3. 輸出導向檔案 (tee / SELECT INTO OUTFILE)

mysql> tee /tmp/session.log
# 後續所有輸出同時寫入檔案
mysql> notee  # 關閉
SELECT * INTO OUTFILE '/tmp/export.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM t;

4. 從腳本檔批次執行

mysql < schema.sql
mysql -h host -u user -p < dump.sql
# 適用:大量 DDL、存儲過程部署、CI/CD 流水線

5. Tab 鍵自動補全 (表名、欄位名)

# ~/.my.cnf
[mysql]
auto-rehash
# 或啟動參數 mysql --auto-rehash

輸入前綴按 Tab,自動補全,極大提升交互效率。

6. 自訂提示符:顯示當前資料庫、時間、用戶

mysql> prompt [\d]>\_
[my_db]>
# 永久生效寫入 ~/.my.cnf
[mysql]
prompt = [\\d]>\\_

防止誤在錯誤資料庫執行 DROP/UPDATE。

7. 安全更新模式:阻擋無 WHERE 的 UPDATE/DELETE

# ~/.my.cnf
[mysql]
safe-updates
# 或啟動 mysql --safe-updates
  • 強制 UPDATE/DELETE 必須帶 WHERE 或 LIMIT
  • SELECT 自動加 LIMIT 1000
  • 防手滑刪全表、改全表

綜合推薦 ~/.my.cnf 模板

[client]
host = localhost
user = dev_user
password = strong_pass
database = dev_db

[mysql]
auto-rehash
safe-updates
prompt = [\\d \\u@\\h \\D]>\\_
# 顯示:[db user@host YYYY-MM-DD HH:MM:SS]>

結語

命令列是 DBA 的手術刀。配置一次 ~/.my.cnf,終身受益。這 7 招解決了「切庫、輸密、記錄、批次、補全、防誤刪、防誤庫」七大痛點,建立屬於你的高效交互環境。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved