چگونه از طریق Shell دیتابیس های MySQL را Import/Export کنیم ؟
یکی از مشکلاتی و مواردی که هنگام انتقال سرورهای لینوکسی برای کاربران و نگه دارندگان سرور اتفاق میفتد بازگردانی اطلاعات و بخصوص دیتابیس هاست. در اکثر مواقع حجم دیتابیس ها مشکل ساز نبوده و براحتی از طریق PhpMyAdmin میتوان دیتابیس ها را بازگردانی کرد ، اما در مواردی حجم بالای دیتابیس و یا تعداد زیاد دیتابیس ها باعث میشوند تا دنبال راه حلی ساده تر از Import کردن توسط PhpMyAdmin باشیم. چه راه حلی ساده تر از خروجی گرفتن و بازگردانی دیتابیس ها از شل لینوکس ؟
- Export یا خروجی گرفتن از دیتابیس های MySQL
کد:
mysqldump -u name-of-db-user -p name-of-database > data.sql
با جایگزین کردن نام کاربری ( username ) و نام دیتابیس خود در دستور بالا و اجرای آن در شل ُپس از وارد کردن کلمه عبور ، خروجی دیتابیس موردنظر شما در فایل dump.sql ذخیره میشود.
پس از اجرای این دستور شما یک نسخه پشتیبان بروز از دیتابیس خود خواهید داشت.
- Import یا بازگردانی دیتابیس های MySQL
پس از انتقال فایل ( های ) حاوی خروجی دیتابیس به سرور جدید با دستور زیر میتوان دیتابیس مورد نظر را بازگردانی کرد.
کد:
mysql -u payam -p -h localhost blog < data.sql
همونطور که متوجه شدید ، سویچ u برای مشخص کردن کاربر ( username ) دیتابیس ، سویچ -p برای مشخص کردن اینکه دیتابیس دارای کلمه عبور هست و -h هم برای مشخص کردن سرور میزبان MySQL که در اکثر مواقع localhost هستش و در انتها نام دیتابیسی که قصد بازگردانیش رو داریم ( در اینجا blog ) وارد میشه و با عملگر > به فایل پشتیبان دیتابیس برای بازگردانی اشاره میکنیم.
به راحتی و با صرف تنها چند ثانیه میتوان تمامی دیتابیس ها را از سرور قبلی خروجی گرفت و در سرور جدید بازگردانی کرد !
منبع : راهنمای سرور