Lebih
Kesalahan MySQL: #1142 - Perintah SELECT ditolak untuk pengguna
Saya mengalami masalah dengan kueri tertentu di salah satu server saya. Di semua tempat lain yang telah saya uji, ia berfungsi dengan baik tetapi di server yang ingin saya gunakan, ia tidak berfungsi.
Ini tentang SQL berikut:
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
Ini adalah kode kesalahan yang saya dapatkan darinya:
Perintah SELECT ditolak untuk pengguna 'marco'@'localhost' untuk tabel 'projecten'
Tabel: 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 ;
Bagian yang aneh adalah bahwa setiap kueri lain pada tabel ' projecten ' dan ' facturen ' tabel berfungsi sepenuhnya dengan baik, juga kueri ini berfungsi dengan baik di dua server saya yang lain.
26
3
Anda perlu memberikan izin SELECT ke pengguna MySQL yang sedang terhubung ke MySQL
pertanyaan yang sama seperti di sini https://stackoverflow.com/questions/4767055/error-select-command-denied-to-user-useridip-address-for-table-table
lihat jawaban dari tautan tersebut;)
Ini adalah masalah hak istimewa pada pengguna database Anda. pertama-tama periksa dan berikan izin kepada pengguna 'marco' di localhost
Jadi masalah yang saya hadapi adalah ini ... aplikasi yang saya gunakan untuk memberikan izin mengubah Schema.TableName menjadi pernyataan DB tunggal di tabel yang salah, jadi hibah itu memang salah, tetapi terlihat benar ketika kami melakukan SHOW GRANTS FOR UserName jika Anda tidak memperhatikan GRANT SELECT vs GRANT TABLE SELECT dengan sangat cermat. Mengoreksi secara manual Grant Select pada Tabel dengan escaping yang tepat dari
Schema
.Table
memecahkan masalah saya.Mungkin tidak berhubungan, tapi saya bisa membayangkan jika satu klien melakukan kesalahan ini, yang lain mungkin juga.
Semoga bermanfaat.