ฉันจะแก้ไขข้อผิดพลาดนี้ได้อย่างไร“ ข้อผิดพลาด 1298 (HY000): เขตเวลาที่ไม่รู้จักหรือไม่ถูกต้อง: 'UTC'”


14

เมื่อฉันเรียกใช้คำสั่งต่อไปนี้ฉันได้รับข้อผิดพลาด แต่หนึ่งในสคริปต์ของฉันต้องการมัน

SET time_zone = 'UTC';
ERROR 1298 (HY000): Unknown or incorrect time zone: 'UTC'

คำตอบ:


16

เพียงแค่เรียกใช้ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -p

$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -p
Enter password: 
Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.

เรื่องไม่สำคัญ: ถ้าคุณต้องการที่จะรู้ว่าสิ่งที่HY00หมายถึง (ติดตามฉันถามปีต่อมา) ....


มันสามารถเป็นที่ทับต่อท้ายไม่ได้ชื่นชมจริงๆโดยmysql_tzinfo_to_sql? :)
ไกเซอร์

5

ฉันจะเพิ่มนี่เป็นความคิดเห็นในคำตอบที่ยอมรับ แต่ฉันขาดชื่อเสียงที่ต้องการ ตามที่ @kaiser แนะนำให้ใช้เครื่องหมายทับท้ายที่ไม่จำเป็น แต่ไม่ได้ระบุ mysql เนื่องจากฐานข้อมูล mariadb บ่นเกี่ยวกับฐานข้อมูลที่หายไป ฉันพบว่า

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

เป็นวิธีที่ถูกต้องในการแก้ปัญหาใน Mariadb 164


1
ดูเหมือนว่าจะเพิ่มค่าบางอย่างให้กับเธรด ฉันให้ +1 กับคุณ - ฉันมีปัญหากับno comments till 50นโยบายทั้งหมด คุณสามารถทำอะไรได้บ้างตั้งค่าสถานะ "คำตอบ" ของคุณเองเป็นความคิดเห็น - ฉันคิดว่านั่นเป็นนโยบายที่แนะนำ มี "อุปสรรคในการเข้าสู่" ไม่เป็นไร แต่ยังมีเหตุผลสำหรับมัน
Vérace
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.