Bir dosyaya MySQL tablosundan veri çıkışı çalışıyorum ama izin hataları alıyorum:
$ pwd
/home/dotancohen
$ mkdir in
$ chmod 777 in/
$ mysql -ugs -p
mysql> USE someDatabase;
mysql> SELECT * FROM data INTO OUTFILE '/home/dotancohen/in/data.csv';
ERROR 1045 (28000): Access denied for user 'gs'@'localhost' (using password: YES)
mysql>
Söz konusu dizin 777'ye chmodded ise, neden MySQL kullanıcısı dosyayı yazamıyor? İlginçtir ki / tmp / dosyasına da yazamıyorum.
EDIT: DB kullanıcı uygun MySQL izinlerine sahip gibi görünüyor:
mysql> show grants;
+----------------------------------------------------------------------------------+
| Grants for gs@localhost |
+----------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'gs'@'localhost' IDENTIFIED BY PASSWORD 'somePassword' |
| GRANT ALL PRIVILEGES ON `gs\_%`.* TO 'gs'@'localhost' |
+----------------------------------------------------------------------------------+
2 rows in set (0.01 sec)
SELECT
izinleri var. Bu kullanıcı olarak veritabanına sık sık göz atıyorum.
in
MySQL erişemezse hakların verilmesi anlamsızdırdotanchoen
. Başka bir deyişle, banka kasasındaki emniyet depost kutusu tamamen açık bırakılabilir, ancak banka kasası kapısı kilitliyse kutuya girmezsiniz. Kişiselgs
Kullanıcı ayrıca MySQL olmalıdırFILE
aslında bu sorguyu yürütmek için ayrıcalık.