我正在将一些 mysql(MariaDB)主机从 Ubuntu 14.04 升级到 16.04,并注意到mysql_secure_installation
似乎没有在 DB 上设置 root 密码,即使它提示我输入该密码。
我从 mysql 提示符更改了 root 密码,但当天晚上,该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
我检查了/etc/logrotate.d/mysql-server
logrotate 脚本并且它正在调用mysqladmin
:
...
# If this fails, check debian.conf!
mysqladmin --defaults-file=/etc/mysql/debian.cnf --local flush-error-log \
flush-engine-log flush-general-log flush-slow-log
...
由于注释说要检查 debian.conf,所以我检查了一下:
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = root
password =
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = root
password =
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
因此..debian.cnf
默认情况下没有为 root 设置密码。在 14.04 中,此文件填充的是帐户debian-sys-maint
,而不是 root。
我可以返回并在 mysql 中设置我的 root 密码,然后将该密码输入到其中,/etc/mysql/debian.cnf
但是我现在真的想知道安装过程中是否出现了什么问题,导致帐户混乱debian-sys-main
,或者这只是 Mysql 安装的“新”方式?