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错误。