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)
SELECTizinleri var. Bu kullanıcı olarak veritabanına sık sık göz atıyorum.
inMySQL 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şiselgsKullanıcı ayrıca MySQL olmalıdırFILEaslında bu sorguyu yürütmek için ayrıcalık.