8.4. mysqlaccess:用于检查访问权限的客户端
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,-ddb_name
指定数据库名。
·---debug=N
指定调试级别。N可以为从0到3的一个整数。
·--host=host_name,-hhost_name
在访问权限中使用的主机名。
·--howto
显示一些例子显示如何使用mysqlaccess。
·--old_server
假定服务器是一个旧版本的MySQL服务器(MySQL 3.21之前),还不知道如何处理全WHERE子句。
·--password[=password],-p[password]
当连接服务器时使用的密码。如果你在命令行中在--password或-p选项后面省略密码值,将提示你输入密码。
·--plan
显示将来发布的建议和思想。
·--preview
更改临时授权表后显示权限的不同。
·--relnotes
显示发布注解。
·--rhost=host_name,-Hhost_name
连接给定主机的MySQL服务器。
·--rollback
取消对临时授权表的最新的更改。
·--spassword[=password],-P[password]
以super用户连接服务器时使用的密码。如果在命令行中在--password或-p选项后面省略了密码值,将提示你输入密码。
·--superuser=user_name,-Uuser_name
指定以super用户连接时的用户名。
·--tables,-t
生成表格式的报告。
·--user=user_name,-uuser_name
在访问权限中使用的主机名。
·--version,-v
显示版本信息并退出。
如果你的MySQL分发安装在某个非标准位置,必须进入mysqlaccess期望找到mysql客户的目录。编辑大约在18行处的mysqlaccess脚本。搜索类似下面的一行:
$MYSQL = '/usr/local/bin/mysql'; # path to mysql executable
将路径更改为mysql实际在系统中保存的位置。如果不这样做,当运行mysqlaccess时会发生Broken pipe错误。