2025-04-23

MYSQL命令行工具自動登錄的方法

 

1. 需求提出

由於在linux 環境下,經常需要使用mysql(command-line tool) 終端連接到MYSQL DB服務。

其中大致的語法如下:
mysql [options] db_name
比較重要的option 參數有:
--database=db_name, -D db_name
--host=host_name, -h host_name
--password[=password], -p[password]
 --port=port_num, -P port_num
 --user=user_name, -u user_name
 下面是一個調用例子:
 mysql -h10.6.28.90 -uroot -Dtest -P3306 -p

 

 每次登錄的時候都需要輸入這麼多參數,嚴重的影響工作效率,能否有比較簡單的方式呢?

 

 2. 解決方法

 在linux 操作系統自己的工作目錄下,一般是 "/data/你的用戶名稱" 或者 "/home/你的用戶名稱" 下面建立一個

 .my.cnf 的文件,配置內容如下:

 [client]
user=root
port=3306
host=10.6.28.90
database=test
database=test
password=MYsql3306

 

最後,把.my.cnf 的其他文件屬性都去掉,隻保留其屬主可讀屬性,可見下面的參考。

 

mark@PAY:~> cat .my.cnf
[client]
user=root
port=3306
host=10.6.28.90
database=test
password=MYsql3306
mark@PAY:~> ls -al .my.cnf
-r-------- 1 mark users 78 2013-08-13 10:52 .my.cnf

 

 

3. 測試結果

現在直接在工作目錄下輸入 mysql,即可直接連接到指定資料庫服務的指定資料庫,再也不用擔心輸入密碼等登錄信息瞭。

 

4. 工作原理

mysql 命令行啟動的時候,會讀取配置文件
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
這個可以使用mysql 的系統命令;
mysql/bin/my_print_defaults

 

查看。

如果上面的目錄都存在文件,那最後一個文件的配置會覆蓋前一個文件的配置。

所以,優先級別最低的 ~/.my.cnf 文件配置最終被使用,順利的登錄。

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *