关于mysqld_exporter的一个坑
在虚拟机上装了一个mysqld_exporter,启动后发现日志报错了
这个vm-2是我的虚拟机hostname,有点奇怪为什么为用'mysqld_exporter'@'vm-2'这个用户去连数据库。
mysqld_exporter用到的my.cnf如下:
user=mysqld_exporter
password=mysqld_exporter4312#
host=192.168.5.98
port=3306
好像也没有什么问题,对比了我装在生产环境的mysqld_exporter的my.cnf,文件格式应该没问题。使用这个用户和密码直接使用mysql命令行也可以连接mysql,授权也没问题。
然后我试着把my.cnf的用户密码改成了root的,重启后日志正常了。
于是我猜到可能是密码的问题,估计mysqld_exporter的密码可能不能加特殊符号。
我修改了mysqld_exporter用户密码,把最后的#
去掉了,然后修改my.cnf,重启mysqld_exporter,果然,日志正常了。
这时我又有了新的疑惑,究竟是所有的特殊字符都不能用,还是只有#
不能用?#
只是不能用在密码末尾,还是哪个位置都不行?在my.cnf中密码配置段加上双/单引号是否可行?
经过反复尝试,最后得到结论:
- mysqld_exporter使用的用户密码中不能包含
#
,不管处于密码的哪个位置。其他特殊字符可以使用 - 如果在密码中使用了
#
,即使加上双/单引号,也没有用