আমি একটি মাইএসকিউএল টেবিল থেকে একটি ফাইলে ডাটা আউটপুট দেওয়ার চেষ্টা করছি তবে অনুমতি ত্রুটি পেয়েছি:
$ 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>
যদি প্রশ্নে থাকা ডিরেক্টরিটি 777 এ ছোডে থাকে তবে মাইএসকিউএল ব্যবহারকারী ফাইলটি কেন লিখতে পারবেন না? আকর্ষণীয়ভাবে যথেষ্ট, আমি / tmp / তেও লিখতে পারি না।
সম্পাদনা: দেখে মনে হচ্ছে ডিবি ব্যবহারকারীর যথাযথ মাইএসকিউএল অনুমতি রয়েছে:
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
অনুমতি আছে। আমি প্রায়শই এই ব্যবহারকারী হিসাবে ডাটাবেস ব্রাউজ করি।
in
মাইএসকিউএল অ্যাক্সেস করতে না পারলে এর উপর অধিকার প্রদান অর্থহীনdotanchoen
। অন্য কথায়, ব্যাংক ভল্টের সেফটি ডিপোস্ট বক্সটি খোলা রেখে দেওয়া যেতে পারে, তবে যদি ব্যাংক ভল্টের দরজাটি তালাবদ্ধ থাকে তবে আপনি বাক্সটিতে প্রবেশ করতে পারবেন না। আপনারgs
ব্যবহারকারীর অবশ্যইFILE
সেই ক্যোয়ারীটি সম্পাদন করার জন্য মাইএসকিএল অধিকার থাকতে হবে।