mysqlaccess是Yves Carlier為MySQL分發提供的一個診斷工具。它檢查訪問權限的主機名、用戶名和數據庫組合。請注意 mysqlaccess檢查只使用user、db和host表的訪問。它不檢查在tables_priv、columns_priv或procs_priv表中指定的表、列或者程序的權限。
調用mysqlaccess的方法:
shell> mysqlaccess [host_name [user_name [db_name]]] [options]
mysqlaccess理解下面的選項:
· ---help,-?
顯示幫助消息并退出。
· --brief,-b
生成單行表格式的報告。
· --commit
從臨時表將新訪問權限復制到原授權表。必須為新的權限刷新授權表以使其生效。(例如,執行mysqladmin RELOAD命令)。
· --copy
從原授權表重載臨時授權表。
· --db=db_name,-d db_name
指定數據庫名。
· ---debug=N
指定調試級別。N可以為從0到3的一個整數。
· --host=host_name,-h host_name
在訪問權限中使用的主機名。
· --howto
顯示一些例子顯示如何使用mysqlaccess。
· --old_server
假定服務器是一個舊版本的MySQL服務器(MySQL 3.21之前),還不知道如何處理全WHERE子句。
· --password[=password],-p[password]
當連接服務器時使用的密碼。如果你在命令行中在--password或-p選項后面省略 密碼值,將提示你輸入密碼。
· --plan
顯示將來發布的建議和思想。
· --preview
更改臨時授權表后顯示權限的不同。
· --relnotes
顯示發布注解。
· --rhost=host_name,-H host_name
連接給定主機的MySQL服務器。
· --rollback
取消對臨時授權表的最新的更改。
· --spassword[=password],-P[password]
以super用戶連接服務器時使用的密碼。如果在命令行中在--password或-p選項后面省略了 密碼值,將提示你輸入密碼。
· --superuser=user_name,-U user_name
指定以super用戶連接時的用戶名。
· --tables,-t
生成表格式的報告。
· --user=user_name,-u user_name
在訪問權限中使用的主機名。
· --version,-v
顯示版本信息并退出。
如果你的MySQL分發安裝在某個非標準位置,必須進入mysqlaccess期望找到mysql客戶的目錄。編輯大約在18行處的mysqlaccess腳本。搜索類似下面的一行:
$MYSQL = '/usr/local/bin/mysql'; # path to mysql executable
將路徑更改為mysql實際在系統中保存的位置。如果不這樣做,當運行mysqlaccess時會發生Broken pipe錯誤。