"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني استخدام المناطق الزمنية بشكل فعال في MySQL؟

كيف يمكنني استخدام المناطق الزمنية بشكل فعال في MySQL؟

تم النشر بتاريخ 2024-11-14
تصفح:713

How Can I Effectively Use Time Zones in MySQL?

المناطق الزمنية في MySQL

هل تتساءل عن دعم المنطقة الزمنية في MySQL؟ فيما يلي دليل شامل لمساعدتك على فهم المناطق الزمنية في MySQL واستخدامها بفعالية:

قائمة شاملة للمناطق الزمنية في MySQL

افتراضيًا، لا تتضمن MySQL معلومات المنطقة الزمنية. لتحميل بيانات المنطقة الزمنية إلى MySQL، قم بتنفيذ الأمر التالي:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

بمجرد التحميل، يمكنك عرض قائمة المناطق الزمنية المتاحة عن طريق تشغيل:

USE mysql;
SELECT * FROM `time_zone_name`;

استخدام المناطق الزمنية

لتحديد منطقة زمنية لقيمة طابع زمني، استخدم وظيفة CONVERT_TZ():

CONVERT_TZ('2012-06-07 12:00:00'، 'GMT'، 'America/New_York')
CONVERT_TZ('2012-06-07 12:00:00', 'GMT', 'America/New_York')
سيؤدي هذا إلى تحويل الطابع الزمني إلى توقيت كالغاري المحلي.

تحميل بيانات المنطقة الزمنية تلقائيًا

لتحديث وقت MySQL تلقائيًا المناطق عندما تتغير المنطقة الزمنية للنظام، قم بتكوين MySQL للسماح بتسجيل الدخول إلى الجذر بدون كلمة مرور:

MySQL >= 5.6.6

مجموعة mysql_config_editor --login-path=client --host=localhost --user=root --password
CONVERT_TZ('2012-06-07 12:00:00', 'GMT', 'America/New_York')

MySQL

إنشاء ملف ~/.my.cnf:

user=root كلمة المرور=yourMysqlRootPW
CONVERT_TZ('2012-06-07 12:00:00', 'GMT', 'America/New_York')

تحديث البرنامج النصي

أضف البرنامج النصي التالي إلى crontab لتحديث المناطق الزمنية يوميًا:

#!/bin/bash
if [ `find /usr/share/zoneinfo -mtime -1 | grep -v '\.tab' | wc -l` -gt 0 ]; then
    echo "Updating MySQL timezone info"
    mysql_tzinfo_to_sql /usr/share/zoneinfo 2>/dev/null | mysql -u root mysql
    echo "Done!\n"
fi

نصائح إضافية

    تستغرق معلومات المنطقة الزمنية حوالي 5 ميغابايت في MySQL.
  • تجنب إسقاط جداول المنطقة الزمنية؛ بدلاً من ذلك، استخدم TRUNCATE.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3