MySQL Enterprise Monitor Agent需要在每个被监视的MySQL实例中配置一个用户,该用户具有适当的权限来收集关于服务器的信息,包括变量名、复制和存储引擎状态信息。
代理人要求管理
用户,并可以选择使用一般
或者有限的
用户,或两者,取决于系统的安全需求。在安装过程中,系统提示创建General和Limited用户。您可以允许代理对所有任务使用Admin用户连接到数据库,但建议为不需要对数据库进行根访问的任务创建General或Limited用户。没有必要同时创建两个用户。有可能创造一个或另一个。Agent使用具有最低、所需权限的用户进行查询,只有在查询需要时才更改为具有更高权限的用户。
管理
:具有极好的
特权。的极好的
运行某些语句需要特权,例如显示主日志
或者显示引擎的innodb状态
,这取决于被监控的版本。请注意如果监视MySQL Server 5.5,也必须授予
创建
和插入
创建目录表的模式上的权限。目录表存储MySQL实例的惟一标识符,并在mysql
默认模式。目录表在MySQL Server 5.6或更高版本中没有使用。
如果您打算自动创建权限较低的用户General和Limited,您还必须授予Admin用户
创建用户
.你还必须同意显示视图
,过程
,复制客户端
,选择
和显示数据库
全球的特权,更新
在performance_schema.threads
表,GRANT选项
为所有。如果您打算从MySQL Enterprise Monitor内安装sys模式,除了上面列出的特权之外,您还必须授予Admin用户
创建
,插入
,创建程序
,创建临时表
,创建视图
,触发
.一般
:此可选用户处理不需要的常规监控任务极好的
级别的特权。使用低权限用户,直到需要更高权限。在这种情况下,MEM临时以极好的
特权用户,然后返回到普通用户。如果您正在手动管理此用户,请至少授予
执行
,过程
,复制客户端
,选择
,显示数据库
全球的特权,更新
在performance_schema.threads
表格如果你打算使用解释
对于视图,您还必须授予显示视图
.重要的如果您正在监视MySQL 5.1.63或更早的版本,您必须授予
极好的
一般用户的特权。代理需要此特权来使用显示二进制日志
语句。有限的
:此可选用户用于应限制为单个连接的语句。这些类型的语句的示例包括获取数据库元数据
INFORMATION_SCHEMA
表,或用于监视特定于应用程序的统计信息的任何自定义SQL。如果您正在手动管理这个用户,那么它至少应该具有
执行
,选择
和显示数据库
全球的特权,更新
在performance_schema.threads
表格如果你打算使用解释
对于视图,您还必须授予显示视图
.
如果您不想向安装程序提供root用户信息,请在MySQL Server中手动创建用户,并在安装期间将这些凭据提供代理用户/密码组合。此用户帐户所需的权限因使用MySQL Enterprise Monitor代理而收集的信息而异。
显示数据库
MySQL企业监控代理可以收集关于被监控的MySQL服务器的库存。复制客户端
: MySQL Enterprise Monitor Agent可以收集复制主/从状态数据。只有在使用MySQL复制顾问规则时才需要这个特权。选择
: MySQL Enterprise Monitor Agent可以收集表对象的统计信息。极好的
: MySQL Enterprise Monitor Agent可以执行显示引擎的innodb状态
收集InnoDB表的数据。也需要使用此特权来获取复制信息显示主状态
并且,如果监视MySQL 5.5或更早的版本,在填充mysql.inventory
表用于标识MySQL实例。的mysql.inventory
表未在MySQL 5.6或更高版本上创建表。请注意选择
中读取所有对象上的数据是必需的INFORMATION_SCHEMA
.如果不授予它,MySQL Enterprise Monitor就不可能执行对象监控或统计。执行
:用于执行辅助函数。过程
:当监视MySQL服务器运行MySQL 5.1.24或以上InnoDB
,过程
执行时需要特权显示引擎的innodb状态
.插入
:如果您正在监视MySQL 5.6或更高版本,则不需要此权限。需要创建代理使用的UUID。创建
:如果您正在监视MySQL 5.6或更高版本,则不需要此权限。MySQL Enterprise Monitor Agent可以创建表。在发现过程中,代理创建表库存
在mysql
数据库,用于存储服务器的UUID。如果没有这个表,代理就不能确定服务器的UUID,它会将UUID和其他信息一起发送到MySQL Enterprise Service Manager。更新
在performance_schema.threads
表格这样做是为了预防SQL语句产生警告或错误可以被触发的事件解释
由查询分析器运行的计划。生成这些警告是因为Performance_Schema
仅捕获每个查询的1024个字符。授予此特权将允许连接到Performance_Schema
在之前掉落解释
然后重新连接解释
完成。请注意如果手动管理一般和有限用户,则还必须将此特权授予这些用户。
例如,如下格兰特
语句向代理提供所需的信息选择
,复制客户端
,显示数据库
和极好的
权利:
Grant select, create user, replication client, show databases, super, process on *. (Grant select, create user, replication client, show databases, super, process on *.)*“agent_user“@”本地主机';
当使用自动创建低特权用户,也增加使用GRANT选项
对上述声明。
出于安全原因,您可能会限制创建
和插入
的权限,以便它只能在mysql
数据库:
GRANT CREATE, INSERT ON mysql。*“agent_user“@”本地主机';
如果主服务器或从服务器运行的MySQL版本低于5.6,则必须授予选择
上的特权mysql.inventory
对于在相应的复制主服务器上具有复制特权的每个用户。这使MySQL Enterprise Monitor Agent能够读取复制主UUID。例如:
GRANT SELECT ON mysql。库存的replicationuser“@”%“被识别”replication_password';
执行此步骤后在相应的MySQL服务器上运行代理以确保mysql.inventory
表被正确创建。启动代理,关闭代理,运行上述操作格兰特
语句,然后启动代理。
如果代理不能访问表中的信息,则会将包含此信息的警告写入代理日志。
可以禁用grant语句的日志记录,以防止将grant信息复制到从服务器。在这种情况下,执行语句设置SQL_LOG_BIN = 0
在执行上述条款前格兰特
声明。
如果运行MySQL 5.6或更高版本,没有必要授予select onmysql.inventory
因为master_uuid
从从机状态使用。因此,不需要启动和停止代理,也不需要设置SQL_LOG_BIN
为0。
如果Admin用户具有创建其他用户所需的权限,您可以检查自动创建低特权用户复选框,输入这些用户的凭据,它们将为您创建。
如果自动创建低特权用户框未选中,凭据的凭据和有限的用户空白,代理只使用管理员用户进行监控。
如果自动创建低特权用户框未选中,则可以为一般用户和有限用户输入凭据。如果你定义这些用户。您必须在监视的资产上手动创建它们。安装程序尝试验证这些用户,如果用户无效,则显示警告消息。安装过程继续进行,并且Agent工作正常,但是您必须稍后创建这些用户。
在典型的配置中,Agent运行在与它所监视的MySQL服务器相同的主机上,因此主机名通常是本地主机
.如果Agent运行在其他机器上,而不是被监控的MySQL服务器上,则更改本地主机
适当的价值。有关远程监控的更多信息,请参阅第5.7节,“配置代理监控远程MySQL服务器”.