关于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使用的用户密码中不能包含#,不管处于密码的哪个位置。其他特殊字符可以使用
  • 如果在密码中使用了#,即使加上双/单引号,也没有用
posted @ 2022-12-15 10:27  Charramma  阅读(539)  评论(0编辑  收藏  举报