Tôi đang cố gắng xuất dữ liệu từ bảng MySQL sang tệp nhưng gặp lỗi về quyền:
$ 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>
Nếu thư mục trong câu hỏi được chỉnh sửa thành 777, thì tại sao người dùng MySQL không thể ghi tệp? Thật thú vị, tôi không thể viết thư cho / tmp /.
EDIT: Có vẻ như người dùng DB có quyền MySQL phù hợp:
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)
SELECTquyền. Tôi thường duyệt cơ sở dữ liệu như người dùng này.
FILEđặc quyền như được mô tả bởi các tài liệu MySQL .
inlà vô nghĩa nếu MySQL không thể truy cậpdotanchoen. Nói cách khác, hộp kho an toàn trong kho tiền ngân hàng có thể được mở rộng, nhưng nếu cửa kho tiền ngân hàng bị khóa, bạn sẽ không vào được hộp. Ngườigsdùng của bạn cũng phải cóFILEđặc quyền mysql để thực hiện truy vấn đó.