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)
SELECT
quyề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 .
in
là 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ườigs
dùng của bạn cũng phải cóFILE
đặc quyền mysql để thực hiện truy vấn đó.