web-dev-qa-db-ja.com

16.04 MariaDB-> syslogのエラー(mysqlcheck)

この本当に素晴らしいチュートリアルを使用して、Ubuntu 16.04とMariaDBを最初からインストールした後、syslogで次のエラーが見つかりました https://www.howtoforge.com/tutorial/install-Apache-with-php-and- mysql-on-ubuntu-16-04-lamp /

    May 14 12:00:13 fortuna /etc/mysql/debian-start[1466]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
May 14 12:00:13 fortuna /etc/mysql/debian-start[1466]: Looking for 'mysql' as: /usr/bin/mysql
May 14 12:00:13 fortuna /etc/mysql/debian-start[1466]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
May 14 12:00:13 fortuna /etc/mysql/debian-start[1466]: Version check failed. Got the following error when calling the 'mysql' command line client
May 14 12:00:13 fortuna /etc/mysql/debian-start[1466]: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
May 14 12:00:13 fortuna /etc/mysql/debian-start[1466]: FATAL ERROR: Upgrade failed
May 14 12:00:13 fortuna /etc/mysql/debian-start[1487]: Checking for insecure root accounts.
May 14 12:00:13 fortuna mysql[1020]: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

/ rootディレクトリに.my.cnfを作成しました。ルートとして「mysql」を実行すると、パスワードなしでログインできます。 (下記参照)

root@fortuna:~# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 7071
Server version: 10.0.24-MariaDB-7 Ubuntu 16.04


Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


MariaDB [(none)]>

しかし、mysqlcheckチェックを使用しようとすると、次のようなエラーが表示されます。

root@fortuna:~# /usr/bin/mysqlcheck --defaults-file=/etc/mysql/debian.cnf --all-databases --fast --silent
/usr/bin/mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect

よく見ると、パスワードを含むファイル/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
2
Seppl

私の場合、現在最も互換性のあるソリューションは、rootパスワードを入力することです

 /etc/mysql/debian.cnf 

さらに、バグレポートを提出しました。 https://bugs.launchpad.net/ubuntu/+source/mariadb-10.0/+bug/1582209

3
Seppl

そのテキストをmy.cnfに追加して、-defaults-file =/etc/mysql/debian.cnf-defaults-file =〜/ .my.cnfパスワードを含めます。 debian.cnfが[クライアント]をオーバーライドするため、リクエストは拒否されました。 .my.cnfが次のような場合:

[client]
user=mysqluser
password=mysqlpass
1
Frank Schrijver