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)
SELECTizin. Saya sering menelusuri basis data sebagai pengguna ini.
FILEhak istimewa seperti yang dijelaskan oleh dokumen MySQL .
intidak 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.gsPengguna Anda juga harus memilikiFILEhak istimewa mysql untuk benar-benar menjalankan kueri itu.