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 文件配置最終被使用,順利的登錄。