[{"data":1,"prerenderedAt":205},["ShallowReactive",2],{"seo-verification":3,"blog-mysql-8-0-انتهاء-الدعم-ترقية-vps-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-mysql-8-0-انتهاء-الدعم-ترقية-vps-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":30,"intro":33,"sections":34,"ctaTitle":148,"ctaBody":149,"ctaButton":150,"ctaUrl":151,"relatedPosts":152},464,"mysql-8-0-انتهاء-الدعم-ترقية-vps",{"fr":12,"en":13,"ar":10,"es":14},"mysql-8-0-eol-migration-vps","mysql-8-0-end-of-life-migration-vps","mysql-8-0-fin-de-soporte-migracion-vps","هجرة ‏MySQL 8.0 إلى 8.4 LTS على خادم VPS: دليل شامل","وصل ‏MySQL 8.0 إلى نهاية دعمه الرسمي في 30 أبريل 2026. هاجر إلى ‏MySQL 8.4 LTS على خادم ‏VPS خطوة بخطوة: التغييرات الجذرية، والفحوصات المسبقة، ومتى تختار ‏MariaDB 11.x بديلاً.",10,0,false,"2026-10-17T00:00:00+00:00","2026-10-18T21:57:56+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},6,"قواعد البيانات","bases-de-donnees","bg-teal-500\u002F10 text-teal-400","database",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fmysql-8-0-eol-migration-vps-poster.svg","في 30 أبريل 2026، أنهت ‏Oracle رسمياً دعم ‏MySQL 8.0: لن تُنشر أي تصحيحات أمنية لهذا الفرع بعد الآن. كل ثغرة أمنية مُكتشفة تبقى مفتوحة بشكل دائم على خادمك. ‏MySQL 8.4 هي أول إصدار ‏LTS في سلسلة ‏MySQL 8، مع دعم مضمون حتى أبريل 2032. يشرح هذا الدليل التعارضات التقنية الواجب معرفتها، والفحوصات اللازمة قبل التبديل، وإجراء الترقية في المكان على خادم ‏VPS يعمل بـ‏Linux، والحالات التي يكون فيها ‏MariaDB 11.x خياراً أفضل.",[35,39,42,45,55,58,64,95,98,100,102,105,136,138,145],{"type":36,"title":37,"body":38},"h2","لماذا تهاجر الآن: انتهاء الدعم والتعرض للثغرات","‏MySQL 8.0 وصل إلى نهاية دعمه الرسمي في 30 أبريل 2026 وفق جدول ‏Oracle Lifetime Support‏ (oracle.com\u002Fsupport\u002Flifetime-support\u002F). من هذا التاريخ، لم تعد ‏Oracle تنشر تصحيحات أمنية للفرع 8.0.x، بصرف النظر عن خطورة الثغرة. الخوادم التي تبقى على 8.0 تتراكم لديها ديون أمنية تنمو مع كل تحديث ربعي من ‏Oracle — دون أن تُعالج أبداً.",{"type":40,"body":41},"p","‏MySQL 8.4 هي أول إصدار يُعيَّن كـ‏LTS في تاريخ ‏MySQL. تضمن ‏Oracle دعمه حتى أبريل 2032 (dev.mysql.com\u002Fdoc\u002Frelnotes\u002Fmysql\u002F8.4\u002F). على عكس فروع الابتكار 8.1 و8.2 و8.3 — الصادرة بين 2023 و2024 دون دعم ممتد — يتلقى الإصدار 8.4 تصحيحات أمنية وإصلاحات الاستقرار على المدى الطويل.",{"type":36,"title":43,"body":44},"التغييرات الجذرية التي يجب معرفتها قبل الترقية","—",{"type":46,"items":47},"ul",[48,49,50,51,52,53,54],"**حذف ‏`mysql_native_password`‏**: تمت إزالة هذا المكوّن الإضافي للمصادقة نهائياً في ‏MySQL 8.4 (كان مُهملاً فقط في 8.0). أي حساب مستخدم يعتمد على هذا المكوّن سيفشل في الاتصال فوراً بعد الترقية. تطبيقات ‏PHP الأقدم من 8.1، و‏WordPress دون تهيئة ‏PDO صحيحة، وعملاء ‏JDBC القديمة هي الحالات الأكثر شيوعاً.","**تغيير المعامل ‏`authentication_policy`‏**: أصبحت القيمة الافتراضية ‏`caching_sha2_password`‏، ويُتجاهل أي سطر ‏`default_authentication_plugin`‏ في ‏`my.cnf`‏ مع تحذير. يجب استبداله بـ‏`authentication_policy`‏.","**إزالة ‏`innodb_file_format`‏ والخيارات المرتبطة**: حذف هذا المتغير. الجداول المنشأة بـ‏`ROW_FORMAT=COMPRESSED`‏ تعمل، لكن أي محاولة لتعيين ‏`innodb_file_format`‏ تنتج خطأ. تحقق من سكريبتات ‏DDL‏.","**تغييرات نوع ‏JSON‏**: يُعزز ‏MySQL 8.4 توافق ‏JSON\u002FSQL‏. دوال مثل ‏`JSON_TABLE()`‏ و‏`JSON_VALUE()`‏ قد تتصرف بشكل مختلف. تحقق من الجداول التي تحتوي على أعمدة ‏JSON‏ كبيرة في بيئة اختبار أولاً.","**مجموعة الأحرف والترتيب**: تبقى ‏`utf8mb4`‏ و‏`utf8mb4_0900_ai_ci`‏ افتراضيتين، لكن ‏MySQL 8.4 ترفض بشكل أكثر صرامة الأعمدة المُعلنة بـ‏`utf8`‏ (اسم مستعار لـ‏`utf8mb3`‏). قد تكون هجرة الترتيب ضرورية لقواعد البيانات القديمة المنشأة تحت ‏MySQL 5.7.","**متغيرات النظام المُزالة أو المُعاد تسميتها**: إزالة عدة متغيرات كانت مُهملة في 8.0 — خاصة ‏`innodb_undo_tablespaces`‏ و‏`slave_*`‏ (استُبدلت بـ‏`replica_*`‏ ) و‏`query_cache_*`‏.","**النسخ المتطابق**: أسماء المتغيرات المرتبطة بالنسخ المتطابق تحولت نهائياً إلى مصطلح ‏`source`‏\u002F‏`replica`‏. أي سكريبت يستدعي ‏`SHOW SLAVE STATUS`‏ يجب تحديثه إلى ‏`SHOW REPLICA STATUS`‏.",{"type":36,"title":56,"body":57},"المتطلبات الأساسية قبل البدء","هجرة محرك قاعدة البيانات في الإنتاج تتطلب تحضيراً دقيقاً. ثلاثة شروط يجب توافرها: نسخة احتياطية مُتحقق منها، معرفة دقيقة بإصدارك الحالي، والتحقق من توافق التطبيق.",{"type":46,"items":59},[60,61,62,63],"**نسخة احتياطية كاملة ومُتحقق منها**: نفّذ ‏`mysqldump --all-databases --single-transaction --routines --events > backup_pre_migration.sql`‏ وتحقق أن الملف قابل للقراءة. نسخة احتياطية غير مُتحقق منها ليست نسخة احتياطية.","**الإصدار الحالي ومحركات الجداول**: نفّذ ‏`SELECT VERSION();`‏ وأدرج الجداول غير المستندة إلى ‏InnoDB‏ من ‏`information_schema.tables`‏. يجب تقييم أي جدول ‏MyISAM‏ أو ‏MEMORY‏ قبل الترقية.","**توافق التطبيق**: حدّد مكوّن المصادقة لكل حساب بـ‏`SELECT user, host, plugin FROM mysql.user;`‏. أي مستخدم على ‏`mysql_native_password`‏ يجب ترحيله إلى ‏`caching_sha2_password`‏.","**المساحة المتاحة على القرص**: قد تضاعف الترقية مؤقتاً المساحة التي تشغلها ملفات ‏ibdata‏. تحقق من وجود 20% على الأقل من المساحة الحرة على قسم ‏`\u002Fvar`‏.",{"type":65,"title":66,"steps":67},"steps","إجراء هجرة ‏MySQL 8.0 → 8.4 LTS على خادم VPS",[68,71,74,77,80,83,86,89,92],{"title":69,"body":70},"نسخة احتياطية كاملة مع التحقق","نفّذ ‏`mysqldump --all-databases --single-transaction --routines --events --triggers > \u002Froot\u002Fbackup_mysql80_$(date +%Y%m%d).sql`‏. تحقق من نهاية الملف بـ‏`tail -5 \u002Froot\u002Fbackup_mysql80_*.sql`‏: يجب أن يكون آخر سطر ‏`-- Dump completed on …`‏. احفظ الملف خارج الخادم قبل المتابعة.",{"title":72,"body":73},"مراجعة الحسابات ومكوّنات المصادقة","نفّذ ‏`SELECT user, host, plugin FROM mysql.user ORDER BY plugin;`‏. لكل مستخدم على ‏`mysql_native_password`‏، نفّذ ‏`ALTER USER 'اسم'@'مضيف' IDENTIFIED WITH caching_sha2_password BY 'كلمة_مرور';`‏. حدّث سلسلة الاتصال لكل تطبيق متأثر قبل الترقية.",{"title":75,"body":76},"التحقق من المتغيرات المُهملة في my.cnf","افتح ‏`\u002Fetc\u002Fmysql\u002Fmysql.conf.d\u002Fmysqld.cnf`‏ وأزل أو استبدل: ‏`default_authentication_plugin`‏ بـ‏`authentication_policy = caching_sha2_password`‏، و‏`slave_*`‏ بـ‏`replica_*`‏، وأزل ‏`innodb_undo_tablespaces`‏ و‏`query_cache_size`‏ و‏`query_cache_type`‏. أي متغير غير معروف يمنع تشغيل ‏MySQL 8.4.",{"title":78,"body":79},"إيقاف الخدمة وأخذ لقطة","على خادم ‏Proxmox‏ أو ‏KVM‏، خذ لقطة قبل تعديل الحزم عبر لوحة التحكم أو ‏API‏ لمزود الاستضافة. ثم: ‏`systemctl stop mysql`‏ وتحقق من التوقف بـ‏`systemctl status mysql`‏.",{"title":81,"body":82},"إضافة مستودع MySQL 8.4 وتحديث الحزم","على ‏Debian 12 \u002F Ubuntu 22.04‏: نزّل حزمة إعداد مستودع ‏MySQL‏ من ‏`dev.mysql.com\u002Fdownloads\u002Frepo\u002Fapt\u002F`‏، ثبّتها بـ‏`dpkg -i mysql-apt-config_*.deb`‏، اختر ‏MySQL 8.4 LTS‏ من القائمة، ثم نفّذ ‏`apt-get update && apt-get install mysql-server`‏.",{"title":84,"body":85},"ترقية جداول النظام","عند أول تشغيل لـ‏MySQL 8.4‏، يُحدّث المحرك جداول النظام تلقائياً. تحقق من السجلات: ‏`journalctl -u mysql -n 50 | grep -i 'upgrade\\|error'`‏. إذا لم تتم الترقية التلقائية، نفّذ ‏`mysql_upgrade --user=root --password`‏.",{"title":87,"body":88},"التحقق بعد الترقية","اتصل وتحقق من الإصدار: ‏`SELECT VERSION();`‏ يجب أن يُرجع ‏`8.4.x`‏. ثم نفّذ ‏`mysqlcheck --all-databases --auto-repair --user=root --password`‏ للكشف عن أي تلف في الجداول. راجع سجل الأخطاء ‏`\u002Fvar\u002Flog\u002Fmysql\u002Ferror.log`‏.",{"title":90,"body":91},"اختبار وظيفي للتطبيق","أعد تشغيل التطبيق وتحقق من النقاط الحساسة: الاتصال بقاعدة البيانات، مصادقة المستخدمين، استعلامات أعمدة ‏JSON‏، الإجراءات المخزنة. الخطأ ‏`The server requested authentication method unknown to the client`‏ يعني وجود حساب لا يزال على ‏`mysql_native_password`‏.",{"title":93,"body":94},"التنظيف وتفعيل المراقبة","احذف ملف النسخة الاحتياطية المحلية بعد تأكيد النسخة الخارجية. تحقق من أداة المراقبة: بعض أسماء المقاييس تغيرت بين 8.0 و8.4. جدوِل فحص سجل الأخطاء بعد 24 و72 ساعة من الهجرة.",{"type":36,"title":96,"body":97},"MariaDB 11.x: متى تُفضّل هذا البديل","‏MariaDB 11.x هو شوكة من ‏MySQL تباعدت بشكل كبير منذ الإصدار 10.3. هناك حالات محددة تجعل ‏MariaDB 11.x أكثر ملاءمة من الترقية إلى ‏MySQL 8.4.",{"type":40,"body":99},"**فضّل ‏MariaDB 11.x إذا** كان تطبيقك يستخدم ميزات خاصة بـ‏MariaDB‏ (جداول ذات إصدار نظام، تسلسلات، محرك ‏Spider‏، ‏Galera Cluster‏ الأصلي)؛ أو إذا كنت بحاجة إلى مجموعة متعددة الماسترات دون تعقيد ‏MySQL Group Replication‏؛ أو إذا أردت البقاء على شوكة تحتفظ بـ‏`mysql_native_password`‏ للتطبيقات القديمة. ‏MariaDB 11.4 LTS مدعومة حتى 2029.",{"type":40,"body":101},"**فضّل ‏MySQL 8.4 LTS إذا** طُوِّر تطبيقك واختُبر خصيصاً مقابل ‏MySQL (أطر عمل مثل ‏Laravel Eloquent أو ‏Hibernate التي تستغل ميزات ‏MySQL الخاصة)؛ أو إذا كنت تستخدم ‏MySQL Enterprise لوظائف كـ‏audit plugin أو ‏Thread Pool التجاري؛ أو إذا كان مزود الاستضافة لا يدعم إلا النسخ الاحتياطية المحسّنة لـ‏MySQL (Percona XtraBackup). أما الهجرة من ‏MySQL 8.0 إلى ‏MariaDB 11.x فهي هجرة بين محركَّين مختلفَّين، وأكثر خطورة وخارج نطاق هذا الدليل — فهي تستحق إجراءً مخصصاً مع اختبارات تكامل كاملة.",{"type":103,"body":104},"tip","**التراجع ممكن خلال 24 ساعة**: إذا أخذت لقطة للخادم قبل الترقية، فإن استعادتها تُعيد الخادم إلى حالة ‏MySQL 8.0 في دقائق. بدون لقطة، يمكن التراجع من تفريغ ‏SQL‏ لكنه أبطأ. لا تحذف النسخة الاحتياطية واللقطة إلا بعد 72 ساعة من الاستقرار في الإنتاج على ‏MySQL 8.4.",{"type":106,"title":107,"headers":108,"rows":113},"comparison","MySQL 8.0 مقابل MySQL 8.4 LTS مقابل MariaDB 11.x",[109,110,111,112],"المعيار","MySQL 8.0","MySQL 8.4 LTS","MariaDB 11.x",[114,119,124,128,132],[115,116,117,118],"دعم الأمان","منتهٍ (30 أبريل 2026)","حتى أبريل 2032","حتى 2029 (11.4 LTS)",[120,121,122,123],"mysql_native_password","موجود (مُهمل)","محذوف","موجود بشكل افتراضي",[125,126,126,127],"مجموعة متعددة الماسترات","Group Replication","Galera Cluster أصلي",[129,130,130,131],"توافق تطبيقات MySQL","أصلي","معظمه متوافق، بعض الفجوات",[133,134,134,135],"الترخيص","GPL + Enterprise تجاري","LGPL (مؤسسة MariaDB)",{"type":36,"title":137,"body":44},"استكشاف الأخطاء: الأخطاء الشائعة بعد الهجرة",{"type":46,"items":139},[140,141,142,143,144],"**`ERROR 1045 (28000): Access denied`‏** بعد الترقية: تحقق من مكوّن المصادقة بـ‏`SELECT plugin FROM mysql.user WHERE user='اسم';`‏. إذا كان لا يزال ‏`mysql_native_password`‏، نفّذ ‏`ALTER USER … IDENTIFIED WITH caching_sha2_password BY '…';`‏.","**`Unknown system variable 'default_authentication_plugin'`‏**: هذا المتغير لم يعد مُعترفاً به في 8.4. أزله من ‏`my.cnf`‏ واستبدله بـ‏`authentication_policy = caching_sha2_password`‏.","**‏MySQL لا يبدأ بعد الترقية**: راجع ‏`\u002Fvar\u002Flog\u002Fmysql\u002Ferror.log`‏. الأكثر شيوعاً هو متغير نظام غير معروف في ‏`my.cnf`‏. علّق المتغيرات واحداً تلو الآخر حتى تحدد المصدر.","**تدهور الأداء في استعلامات الفرز**: يُطبّق ‏MySQL 8.4 ترتيب الفهرس بصرامة أكبر. نفّذ ‏`EXPLAIN`‏ على الاستعلامات البطيئة. ‏`ANALYZE TABLE اسم_الجدول;`‏ يُجبر على تحديث الإحصائيات.","**جدول ‏`performance_schema.replication_applier_status`‏ غير موجود في سكريبتات المراقبة**: بعض جداول ‏`performance_schema`‏ أُعيد تسميتها. حدّث استعلامات المراقبة وفق الأسماء الجديدة الموثّقة في ‏`dev.mysql.com\u002Fdoc\u002Frefman\u002F8.4\u002Fen\u002Fperformance-schema.html`‏.",{"type":36,"title":146,"body":147},"الانتقال إلى MySQL 8.4 LTS: ما يجب تذكره","هجرة ‏MySQL 8.0 إلى ‏MySQL 8.4 LTS هي ترقية في المكان قابلة للتنفيذ في أقل من ساعة على خادم ‏VPS مُحضَّر جيداً. أكثر نقطتي فشل شيوعاً هما حذف ‏`mysql_native_password`‏ — الذي يُعطّل اتصالات التطبيقات القديمة إذا لم تُهاجَر الحسابات مسبقاً — والمتغيرات المُزالة في ‏`my.cnf`‏ التي تمنع بدء الخدمة. تدقيق هاتين النقطتين مسبقاً يُقلل من وقت التوقف إلى أقل من خمس دقائق. والمكسب الجوهري: ‏MySQL 8.4 LTS مدعوم حتى أبريل 2032 — ست سنوات من تصحيحات الأمان المضمونة دون الحاجة إلى ترقية أخرى طوال عمر الإصدار.","خادم VPS Linux لقاعدة بيانات MySQL 8.4","استضف ‏MySQL 8.4 LTS على خادم ‏VPS Linux مُدار، مع لقطات مدمجة لتأمين كل هجرة.","عرض خطط VPS Linux","\u002Fvps-linux",[153,172,190],{"id":154,"slug":155,"slugs":156,"title":160,"excerpt":161,"readTime":162,"views":18,"isPinned":19,"publishedAt":163,"updatedAt":164,"category":165,"categories":166,"featuredImage":30,"bgImage":31,"posterImage":168,"relatedSolution":169},57,"استضافة-mysql-على-خادم-vps",{"fr":157,"en":158,"ar":155,"es":159},"heberger-mysql-vps","hosting-mysql-on-a-vps","alojar-mysql-en-un-vps","استضافة MySQL على خادم VPS: دليل شامل","ثبّت ‎MySQL 8.4 LTS‎ على خادم ‎VPS‎: المتطلبات، التأمين، أداء ‎InnoDB‎، الوصول عن بُعد الآمن، النسخ الاحتياطية التلقائية، واستكشاف الأخطاء.",9,"2026-04-24T00:00:00+00:00","2026-09-17T14:09:38+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[167],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-mysql-vps-poster.svg",{"categorySlug":170,"appSlug":171},"قواعد-البيانات","mysql-stack",{"id":173,"slug":174,"slugs":175,"title":179,"excerpt":180,"readTime":17,"views":18,"isPinned":19,"publishedAt":181,"updatedAt":182,"category":183,"categories":184,"featuredImage":30,"bgImage":31,"posterImage":186,"relatedSolution":187},146,"mariadb-على-vps-sql-حر-وسريع-وتحت-السيطرة",{"fr":176,"en":177,"ar":174,"es":178},"heberger-mariadb-vps","mariadb-on-a-vps-free-fast-controlled-sql","alojar-mariadb-en-un-vps","‎MariaDB على VPS: SQL حر وسريع وتحت السيطرة","‎انشر MariaDB على VPS من ServOrbit: تثبيت بنقرة واحدة، نسخ احتياطية آلية، ضبط InnoDB ووصول بعيد آمن.","2026-01-30T00:00:00+00:00","2026-10-07T23:07:24+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[185],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-mariadb-vps-poster.svg",{"categorySlug":188,"appSlug":189},"db","mariadb-stack",{"id":191,"slug":192,"slugs":193,"title":197,"excerpt":198,"readTime":199,"views":18,"isPinned":19,"publishedAt":200,"updatedAt":21,"category":201,"categories":202,"featuredImage":30,"bgImage":31,"posterImage":204,"relatedSolution":30},461,"نقل-postgresql-من-rds-و-cloud-sql-و-supabase-إلى-vps",{"fr":194,"en":195,"ar":192,"es":196},"postgresql-migrer-cloud-vers-self-hosted-vps","migrate-postgresql-from-rds-cloud-sql-supabase-to-vps","migrar-postgresql-de-rds-cloud-sql-o-supabase-a-un-vps","نقل PostgreSQL من السحابة المُدارة إلى VPS","‫خطة هجرة PostgreSQL خطوة بخطوة من RDS وCloud SQL وSupabase إلى VPS مستضاف ذاتياً: أوامر دقيقة وأفخاخ خاصة بكل مصدر وتحويل بدون توقف.",13,"2026-10-16T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[203],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fpostgresql-migrer-cloud-vers-self-hosted-vps-poster.svg",1792360975480]