Saya mencoba untuk mengeluarkan data dari tabel MySQL ke file tetapi mendapatkan kesalahan izin:
$ 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>
Jika direktori yang dimaksud chmodded ke 777, lalu mengapa pengguna MySQL tidak bisa menulis file? Cukup menarik, saya tidak bisa menulis ke / tmp / baik.
EDIT: Sepertinya pengguna DB memiliki izin MySQL yang tepat:
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
izin. Saya sering menelusuri basis data sebagai pengguna ini.
FILE
hak istimewa seperti yang dijelaskan oleh dokumen MySQL .
in
tidak ada gunanya jika MySQL tidak dapat mengaksesdotanchoen
. Dengan kata lain, safety depost box di brankas bank dapat dibiarkan terbuka lebar, tetapi jika pintu brankas bank terkunci, Anda tidak akan masuk ke dalam kotak.gs
Pengguna Anda juga harus memilikiFILE
hak istimewa mysql untuk benar-benar menjalankan kueri itu.