2016-04-08 7 views
0

は(主に/ returneの実行に失敗しましたコード:256)。MySqlTuner - 失敗:リターンコード我々はWordpressのウェブサイト上でいくつかの問題の背後にある問題を何ができるかのビジョンのようなものを持っているmysqltunerを使用しようとしているが、それを実行するときにいくつかの問題を持っている持っている256

wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl

をし、それを実行します:

まず、やった

perl mysqltuner.pl

が、これは我々が得るものです:私たちは理解していない

>> MySQLTuner 1.6.9 - Major Hayden <[email protected]> 
>> Bug reports, feature requests, and downloads at http://mysqltuner.com/ 
>> Run with '--help' for additional options and output filtering 

[--] Skipped version check for MySQLTuner script 
[!!] failed to execute: SELECT VERSION() 
[!!] FAIL Execute SQL/return code: 256 
[!!] failed to execute: SHOW /*!50000 GLOBAL */ VARIABLES 
[!!] FAIL Execute SQL/return code: 256 
[!!] failed to execute: SHOW /*!50000 GLOBAL */ STATUS 
[!!] FAIL Execute SQL/return code: 256 
[!!] failed to execute: SHOW ENGINES 
[!!] FAIL Execute SQL/return code: 256 
[!!] failed to execute: SHOW SLAVE STATUS\G 
[!!] FAIL Execute SQL/return code: 256 
[!!] failed to execute: SHOW SLAVE HOSTS 
[!!] FAIL Execute SQL/return code: 256 
[!!] failed to execute: \s 
[!!] FAIL Execute SQL/return code: 256 
Use of uninitialized value $myvar{"version"} in pattern match (m//) at 
    mysqltuner.pl line 1526 (#1) 
    (W uninitialized) An undefined value was used as if it were already 
    defined. It was interpreted as a "" or a 0, but maybe it was a mistake. 
    To suppress this warning assign a defined value to your variables. 

    To help you figure out what was undefined, perl will try to tell you the 
    name of the variable (if any) that was undefined. In some cases it cannot 
    do this, so it also tells you what operation you used the undefined value 
    in. Note, however, that perl optimizes your program and the operation 
    displayed in the warning may not necessarily appear literally in your 
    program. For example, "that $foo" is usually optimized into "that " 
    . $foo, and the warning will refer to the concatenation (.) operator, 
    even though there is no . in your program. 

Use of uninitialized value $mysqlvermajor in numeric gt (>) at mysqltuner.pl 
    line 1552 (#1) 
Use of uninitialized value $mysqlvermajor in numeric eq (==) at mysqltuner.pl 
    line 1552 (#1) 
Use of uninitialized value $myvar{"version"} in concatenation (.) or string at 
    mysqltuner.pl line 1531 (#1) 
[!!] Your MySQL version is EOL software! Upgrade soon! 
[OK] Operating on 64-bit architecture 

-------- Storage Engine Statistics ------------------------------------------- 
[!!] failed to execute: SHOW DATABASES 
[!!] FAIL Execute SQL/return code: 256 
[--] Status: -Archive -BDB -Federated -InnoDB -ISAM -NDBCluster 
[OK] Total fragmented tables: 0 
[!!] failed to execute: SELECT ~0 
[!!] FAIL Execute SQL/return code: 256 

-------- Security Recommendations ------------------------------------------- 
Use of uninitialized value $myvar{"version"} in pattern match (m//) at 
    mysqltuner.pl line 1345 (#1) 
[!!] failed to execute: SELECT CONCAT(user, '@', host) FROM mysql.user WHERE TRIM(USER) = '' OR USER IS NULL 
[!!] FAIL Execute SQL/return code: 256 
[OK] There are no anonymous accounts for any database users 
[!!] failed to execute: SELECT CONCAT(user, '@', host) FROM mysql.user WHERE (password = '' OR password IS NULL) AND plugin NOT IN ('unix_socket', 'win_socket') 
[!!] FAIL Execute SQL/return code: 256 
[OK] All database users have passwords assigned 
[!!] failed to execute: SELECT CONCAT(user, '@', host) FROM mysql.user WHERE CAST(password as Binary) = PASSWORD(user) OR CAST(password as Binary) = PASSWORD(UPPER(user)) OR CAST(password as Binary) = PASSWORD(UPPER(LEFT(User, 1)) + SUBSTRING(User, 2, LENGTH(User))) 
[!!] FAIL Execute SQL/return code: 256 
[!!] failed to execute: SELECT CONCAT(user, '@', host) FROM mysql.user WHERE HOST='%' 
[!!] FAIL Execute SQL/return code: 256 
[!!] There is no basic password file list! 

-------- CVE Security Recommendations --------------------------------------- 
[--] Skipped due to --cvefile option undefined 
Use of uninitialized value $mystat{"Questions"} in numeric lt (<) at 
    mysqltuner.pl line 1868 (#1) 
[!!] Your server has not answered any queries - cannot continue... 

何が問題なのか。みんなありがとう!

+0

無効な資格情報を指定したように見えます。あなたは資格を一切設定しましたか?また、なぜあなたは、MySQLチューナースクリプトはワードプレスに関連する問題を検出することができると思いますか? – Mjh

+0

素敵な@Mjh、あなたの素早い返信に感謝します。私達は私達がどんな資格情報を求めていなかった、ルートとしてmysqltunerを実行します。 mysqltunerはWordpressの問題を検出できないと思っていますが、php-fpmの低速ログ、mysqlの低速ログ、mysqltunerの設定に誤りがあるかどうかをチェックしたいと考えています。 – Lightbox

+0

私は 'perl mysqltuner.pl --host localhost --user root'を実行しようとしましたが、最初の行出力は' [ - ] localhost:3306 でテストを実行しました[OK]コマンドラインでうまく見えますが、失敗したすべての統計情報を残しておきます – Lightbox

答えて

0

Iは、パスワードなしlocalログインを無効rootユーザ&をリネーム/起因listenポートの変化に同じエラーがあったが、でそれを固定:

/path/to/mysqltuner.pl --port xxxx --user xxxx --pass xxxx

localhost--hostスイッチ&ポートことなく想定され3306

mysqltunerを実行するためのより良い方法がある)--portスイッチなしと想定されます

/path/to/mysqltuner.pl --port 5555 --user limited_user

:私は、 limited_userで実行することができた

[client] 
user=limited_user 
pass=thatuserspassword 

limited_user(任意の名前が動作する)ためのいくつかの資格情報を使用してセットアップする/root/.my.cnf

limited_userだけに権限が必要です。

SHOW DATABASES, LOCK TABLES, SELECT ON *.*

&、必要に応じてSHOW SLAVE STATUS & SHOW SLAVE HOSTS