mysqladminは「エラー」メッセージを生成します。

mysqladminは「エラー」メッセージを生成します。

しばらく前に、Raspbianを実行しているRaspberry PiにNGINX、php7、mariaDB、およびWordpressをインストールしました。

WordPressデータベースを作成し、動作しています。

最近私は私のシステムにメールをインストールして送信ssmtpしました。mailutils

これで、次のエラーを含むメールが毎日届きます。

/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

これは少し迷惑なことです。ファイルなし/var/log/mysql/mysql.log

mysqlのrootユーザーにはパスワードがあります。

エラーメッセージを表示したくない場合はどうすればよいですか?

編集する


/etc/cron.daily/logrotate着信電話/etc/logrotate.conf

含む

# rotate log files weekly
weekly
# packages drop log rotation information into this directory
include /etc/logrotate.d

含む

/etc/logrotate.d/mysql-server

# - I put everything in one block and added sharedscripts, so that mysql gets
#   flush-logs'd only once.
#   Else the binary logs would automatically increase by n times every day.
# - The error log is obsolete, messages go to syslog now.
/var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log /var/log/mysql/mariadb-slow.log /var/log/mysql/error.log {
    daily
    rotate 7
    missingok
    create 640 mysql adm
    compress
    sharedscripts
    postrotate
          test -x /usr/bin/mysqladmin || exit 0
          if [ -f `my_print_defaults --mysqld | grep -m 1 -oP "pid-file=\K.+$"` ]; then
            # 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
          fi
    endscript
}

/etc/mysql/debian.cnf含む

# 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

ベストアンサー1

  • mysql/mariadb クライアントに移動して確認します。Debian システムのメンテナンス空のパスワードを持つユーザーがすでに存在します。ユーザーテーブルmysqlデータベース

  • デフォルトでは、/etc/mysql/debian.cnf以下を含める必要があります。Debian システムのメンテナンス〜のようにユーザー変える

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password =
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password =
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

おすすめ記事