MySQLのエラーです。#1142 - SELECTコマンドがユーザーに拒否されました。

あるサーバーで、あるクエリに問題があります。私がテストした他の場所では全く問題なく動作しているのですが、私が使用したいサーバーでは動作しません。

次のようなSQLです。

SELECT facturen.id            AS fid, 
       projecten.id           AS pid, 
       titel, 
       facturen.totaal_bedrag AS totaal, 
       betaald, 
       datum 
FROM   facturen, 
       projecten 
WHERE  facturen.project_id = projecten.id 
       AND projecten.eigenaar = '1' 
ORDER  BY datum DESC 

これは私が得たエラーコードです。

SELECT command denied to user 'marco'@'localhost' for table 'projecten'

テーブルには facturenです。

CREATE TABLE IF NOT EXISTS `facturen` (
  `id` int(11) NOT NULL auto_increment,
  `project_id` int(11) NOT NULL,
  `datum` int(11) NOT NULL,
  `lever_datum` int(11) NOT NULL,
  `totaal_bedrag` decimal(9,2) NOT NULL,
  `btw` decimal(9,2) NOT NULL,
  `bedrijf` varchar(40) NOT NULL,
  `contactpersoon` varchar(60) NOT NULL,
  `adres` varchar(60) NOT NULL,
  `postcode` varchar(7) NOT NULL,
  `plaats` varchar(30) NOT NULL,
  `betaald` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=201200006 ;

projecten:

CREATE TABLE IF NOT EXISTS `projecten` (
  `id` int(11) NOT NULL auto_increment,
  `titel` varchar(80) NOT NULL,
  `eigenaar` int(11) NOT NULL,
  `creatie_datum` int(11) NOT NULL,
  `eind_datum` int(11) NOT NULL,
  `totaal_bedrag` decimal(9,2) NOT NULL,
  `btw` decimal(9,2) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=201200004 ;

不思議なのは、 'projecten'テーブルと 'facturen'テーブルの両方に対する他のすべてのクエリはまったく問題なく動作し、このクエリは私の他の2つのサーバでも問題なく動作していることです。

ソリューション

MySQLに接続しているMySQLユーザーにSELECT権限を付与する必要があります。

ここと同じ質問です https://stackoverflow.com/questions/4767055/error-select-command-denied-to-user-useridip-address-for-table-table

リンク先の回答をご覧ください ;)

解説 (3)

これは、データベースのユーザーの権限の問題です。最初にチェックして、ユーザー に権限を与えます。

解説 (0)

私が遭遇した問題は以下の通りです...パーミッションを付与するために使用したアプリケーションは、Schema.TableNameを間違ったテーブルの単一のDBステートメントに変換していました。 手動でテーブルへのグラントセレクトを修正し、Schema.Table を適切にエスケープすることで問題は解決しました。

関係ないかもしれませんが、あるクライアントがこれを間違っていると、他のクライアントもそうするかもしれないと想像できます。

ご参考になれば幸いです。

解説 (0)