عملية الترحيل لـ MySQL Server
المتطلبات الأساسية
- يجب تثبيت مثيلات SQL Server المصدر والهدف. قد يتم استضافتها على أجهزة مختلفة.
- يجب أن تتوفر أدوات MySQL على أحد أجهزة الكمبيوتر على الأقل (عميل mysqldump وmysql).
روابط مفيدة
- https://dev.mysql.com/doc/refman/8.0/en/copying-databases.html
- https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html
- https://dev.mysql.com/doc/refman/8.0/en/mysql.html
عملية الترحيل
في الأوامر، في ملفات التكوين أو بيانات SQL أدناه، يرجى دائماً استبدال:
|
من الضروري تنفيذ بيانات SQL أدناه عبر سطر الأوامر. إذا كانت تتوفر أداة GUI، فيمكنك استخدام تطبيق تعرفه بالفعل.
- أوقف خادم ESET PROTECT/Mخدمات DM.
- أنشئ نسخاً احتياطياً كاملاً لقاعدة بيانات ESET PROTECT المصدر (قاعدة البيانات التي تنوي ترحيلها):
mysqldump --host SRCHOST --disable-keys --extended-insert --routines -u SRCROOTLOGIN -p SRCDBNAME > BACKUPFILE |
- قم بإعداد قاعدة بيانات فارغة على خادم MySQL هدف:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=CREATE DATABASE TARGETDBNAME /*!40100 DEFAULT CHARACTER SET utf8 */;" |
استخدم رمز الفاصلة العليا ' بدلاً من علامات الاقتباس " في أنظمة Linux. |
- قم باستعادة قاعدة البيانات على خادم MySQL الهدف إلى قاعدة البيانات الفارغة المعدة مسبقاً:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p TARGETDBNAME < BACKUPFILE |
- قم بإعداد مستخدم قاعدة بيانات ESET PROTECT على خادم MySQL الهدف:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=CREATE USER TARGETLOGIN@'%' IDENTIFIED BY 'TARGETPASSWD';" |
أحرف مستحسنة لـ TARGETLOGIN:
- أحرف ASCII صغيرة، والأرقام والشرطة السفلية "_"
أحرف مستحسنة لـ TARGETPASSWD:
- أحرف ASCII فقط، بما في ذلك أحرف ASCII الكبيرة والصغيرة والأرقام والمسافات والأحرف الخاصة
- لا تستخدم أحرف غير ASCII أو الأقواس المتعرجة {} أو @
يرجى ملاحظة أنه في حالة عدم اتباع توصيات الأحرف المذكورة أعلاه، فقد تواجهك مشكلات في الاتصال بقاعدة البيانات أو ستحتاج إلى إلغاء الأحرف الخاصة في الخطوات التالية أثناء تعديل سلسلة اتصال قاعدة البيانات. قواعد إلغاء الأحرف غير مضمنة في هذا المستند.
- منح حقوق وصول صحيحة لمستخدم قاعدة بيانات ESET PROTECT على خادم MySQL المستهدف:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=GRANT ALL ON TARGETDBNAME.* TO TARGETLOGIN;" |
استخدم رمز الفاصلة العليا ' بدلاً من علامات الاقتباس " في أنظمة Linux. |
- قم بإزالة محتويات جدول tbl_authentication_certificate (وإلا، قد تفشل العوامل في الاتصال بالخادم الجديد):
mysql --host TARGETHOST -u root -p "--execute=DELETE FROM era_db.tbl_authentication_certificate where certificate_id = 1;" |