Weblines Cloudمستندات

مهاجرت از لیارا، دارکوب و سرویس‌های دیگر

انتقالِ دیتابیسِ PostgreSQL، MySQL، MariaDB یا MongoDB به Weblines در سه قدم: خروجی گرفتن، ساختِ دیتابیس، ایمپورت.

آخرین به‌روزرسانی:

دیتابیسِ فعلی‌تان هر جا باشد (لیارا، دارکوب، سرورِ خودتان یا هر سرویسِ دیگر)، انتقالش به Weblines سه قدم دارد:

  1. از دیتابیسِ فعلی یک فایلِ dump بگیرید.
  2. در Weblines یک دیتابیس با همان موتور بسازید.
  3. فایل را در تبِ Backups همان دیتابیس ایمپورت کنید.

۱. خروجی گرفتن#

اگر سرویسِ فعلی فایلِ بکاپ می‌دهد#

اگر پنلِ سرویسِ فعلی فایلِ بکاپ را برای دانلود می‌دهد، همان فایل کافی است. لینکِ مستقیمِ دانلود را می‌توانید در قدمِ سوم مستقیم بدهید و لازم نیست اول فایل را روی سیستمِ خودتان بیاورید.

اگر خودتان dump می‌گیرید#

با دسترسیِ بیرونیِ دیتابیسِ فعلی (آدرس و پورتی که سرویسِ فعلی برای اتصال از بیرون می‌دهد) یکی از این دستورها را روی سیستمِ خودتان اجرا کنید:

bash
# PostgreSQL — فرمتِ custom، فشرده و بدونِ مالکیتِ نقش‌ها
pg_dump "postgresql://USER:PASSWORD@HOST:PORT/DBNAME" -Fc --no-owner --no-acl -f app.dump

# MySQL
mysqldump -h HOST -P PORT -u USER -p --single-transaction --routines DBNAME | gzip > app.sql.gz

# MariaDB
mariadb-dump -h HOST -P PORT -u USER -p --single-transaction --routines DBNAME | gzip > app.sql.gz

# MongoDB
mongodump --uri "mongodb://USER:PASSWORD@HOST:PORT/?authSource=admin" --gzip --archive=app.archive.gz

نسخه‌ی ابزارِ pg_dump باید برابر یا جدیدتر از نسخه‌ی سرورِ مبدأ باشد.

۲. ساختِ دیتابیس در Weblines#

از Services → New یک دیتابیس با همان موتور بسازید و صبر کنید وضعیتش RUNNING شود. اطلاعاتِ اتصالِ جدید در تبِ Overview است.

۳. ایمپورت#

  1. در صفحه‌ی دیتابیس به تبِ Backups بروید و IMPORT DUMP را بزنید (owner یا admin).
  2. یکی را انتخاب کنید:
    • Upload a file: فایل را انتخاب کنید (تا ۲ گیگ). تا پایانِ آپلود تب را باز نگه دارید.
    • From a link: لینکِ مستقیمِ دانلود (http یا https). فایل مستقیم روی سرور دانلود می‌شود. لینک باید عمومی باشد و ریدایرکت نکند.
  3. نامِ دیتابیس را برای تأیید تایپ کنید و IMPORT AND REPLACE را بزنید.

بعد از آن در بخشِ Restores & imports همان تب، مراحل را با لاگِ زنده می‌بینید:

  1. Safety backup: از داده‌ی فعلیِ دیتابیسِ Weblines یک بکاپ گرفته می‌شود.
  2. Loading data: دیتابیس خالی و دوباره ساخته می‌شود و فایل بارگذاری می‌شود. در MongoDB فقط collectionهایی که در فایل هستند جایگزین می‌شوند و بقیه می‌مانند.

وقتی کار تمام شود، از راهِ کانال‌هایی که در Settings → Notifications تنظیم کرده‌اید (گروهِ Backups & restores) خبر می‌گیرید.

فرمت‌های قابلِ قبول#

موتورفایل
PostgreSQLخروجیِ pg_dump -Fc (.dump) یا SQL ساده (.sql، .sql.gz)
MySQL / MariaDBخروجیِ mysqldump یا mariadb-dump (.sql، .sql.gz)
MongoDBخروجیِ mongodump --archive (با یا بدونِ --gzip)

فایلِ zip پذیرفته نمی‌شود؛ اول آن را باز کنید و فایلِ داخلش را بدهید.

اگر پیامِ «with warnings» دیدید#

dumpِ سرویسِ دیگر معمولاً دستورهایی درباره‌ی مالکِ جدول‌ها و نقش‌های آن سرور دارد (مثلاً ALTER TABLE … OWNER TO …). این دستورها این‌جا لازم نیستند و رد می‌شوند؛ همه‌چیز مالِ کاربرِ همین دیتابیس است. اگر خطای دیگری باشد، ایمپورت FAILED می‌شود و لاگ دلیلش را نشان می‌دهد. در این حالت داده‌ی قبلی در بکاپِ ایمنی هست و از همان تب قابلِ بازگردانی است.

بعد از ایمپورت#

  • رشته‌ی اتصالِ اپ‌تان را به اطلاعاتِ جدید عوض کنید، یا اگر اپ هم در Weblines است دیتابیس را به آن لینک کنید.
  • چند کوئریِ ساده بزنید و تعدادِ ردیف‌های جدول‌های اصلی را با مبدأ مقایسه کنید. OPEN SQL SHELL در تبِ Overview همین کار را در مرورگر می‌کند.
  • تا وقتی از انتقال مطمئن نشده‌اید، دیتابیسِ قبلی را پاک نکنید.

جوابت را پیدا نکردی؟

تیکت از پنل یا تماس در ساعاتِ کاری: ۰۲۱-۸۸۷۱۷۴۵۱

ثبتِ تیکت