我最近使用MariaDB设置了一个数据库,现在每天都从logrotate获取错误消息(请参见下文)。我正在为root数据库用户使用密码。根据我在网上找到的内容,我设置了my.cnf文件,但它没有做任何更改。错误消息状态(使用密码:否)。我在网上看到的一些帖子反而说“是”。但是,我无法在网上找到任何文档,也无法在MariaDB设置文件中找到可以告诉logrotate应该使用密码的文档。
错误消息:
/etc/cron.daily/logrotate: mysqladmin: connect to server at 'localhost'
failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'
error: error running shared postrotate script for '/var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log /var/log/mysql/mariadb-slow.log /var/log/mysql/error.log '
run-parts: /etc/cron.daily/logrotate exited with return code 1
/root/.my.cnf
[mysqladmin]
password = "password"
user = root
[mysql]
password = "password"
user = root
我正在Debian Stretch上运行MariaDB 10.1.37
答案 0 :(得分:0)
我建议您为mysqladmin提供单独的用户,并赋予它最小的权限。这可以减少黑客的漏洞。
mysqladmin
类似于mysql
,它使用参数来确定什么用户,什么主机以及是否要求输入密码:
-p
-动态询问密码(很难在批处理脚本中使用)-pMyPwd
-提供密码(不是很安全)您可以使用mysql_config_editor
来以特殊方式设置密码,而不必包括-p
。