با استفاده از تابع LOAD_FILE در MySQL محتوای فایل متنی /var/lib/mysql-files/report.txt را خوانده و در ستون report_text جدول reports وارد کنید.

7.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:25

0.0

برای حل این سوال از تابع LOAD_FILE('/full/path/to/file') استفاده کنید؛ مثلاً INSERT INTO reports (report_text) VALUES (LOAD_FILE('/var/lib/mysql-files/report.txt')); توجه داشته باشید که فایل باید روی سرور دیتابیس قرار داشته باشد، کاربر MySQL باید مجوز FILE را داشته باشد، مسیر باید مطلق باشد و متغیرهای سرور مثل secure_file_priv و max_allowed_packet تنظیم شده و اجازه دسترسی به آن مسیر را بدهند. اگر LOAD_FILE مقدار NULL برگرداند، ابتدا مجوزها، مسیر و تنظیم secure_file_priv را بررسی کنید و برای مشاهده محتوا قبل از درج می‌توانید از SELECT LOAD_FILE(...) استفاده کنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:25
دسته بندی ها: MySQL MySQL for beginner
arman در 201 روز قبل ساعت 06:28

نکته کلیدی: LOAD_FILE فقط محتوای فایلی را می‌خواند که روی سرور دیتابیس و در مسیر مجاز secure_file_priv قرار دارد و کاربر MySQL مجوز FILE دارد. اگر مقدار برگشتی NULL بود، دسترسی فایل، مسیر مطلق و تنظیمات secure_file_priv را بررسی کنید. برای بررسی دقیق‌تر پیش از درج، می‌توانید با SELECT LOAD_FILE('/full/path/to/report.txt') محتوای فایل را مشاهده کنید. همچنین اندازه فایل و تنظیمات max_allowed_packet نیز می‌تواند بر نتیجه اثر بگذارد و حتما مسیر باید دقیقاً مطلق باشد.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری