Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

mysql_tzinfo_to_sql - โหลดตารางโซนเวลาใน MySQL


โปรแกรม mysql_tzinfo_to_sql ช่วยโหลดตารางเขตเวลาในฐานข้อมูล mysql มันถูกใช้กับระบบที่มีฐานข้อมูล zoneinfo นั่นคือชุดของไฟล์ที่อธิบายเขตเวลา ตัวอย่างของระบบดังกล่าว ได้แก่ Linux, FreeBSD, Solaris และ macOS ตำแหน่งที่เป็นไปได้มากที่สุดสำหรับไฟล์เหล่านี้คือไดเร็กทอรี /usr/share/zoneinfo (/usr/share/lib/zoneinfo บน Solaris)

เรียกใช้ mysql_tzinfo_to_sql

หากระบบไม่มีฐานข้อมูล zoneinfo สามารถติดตั้งแพ็คเกจที่ดาวน์โหลดได้ mysql_tzinfo_to_sql สามารถเรียกใช้ได้หลายวิธี บางส่วนได้แสดงไว้ด้านล่าง −

shell> mysql_tzinfo_to_sql tz_dir
(or)
shell> mysql_tzinfo_to_sql tz_file tz_name
(or)
shell> mysql_tzinfo_to_sql --leap tz_file

ในไวยากรณ์การเรียกใช้แรก ชื่อพาธไดเร็กทอรี zoneinfo ถูกส่งไปยัง mysql_tzinfo_to_sql ผลลัพธ์จะถูกส่งไปยังโปรแกรม mysql

ให้เรายกตัวอย่างเพื่อทำความเข้าใจสิ่งนี้ -

shell> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql

mysql_tzinfo_to_sql อ่านไฟล์เขตเวลาของระบบของผู้ใช้และสร้างคำสั่ง SQL จากไฟล์เหล่านั้น จากนั้น mysql จะประมวลผลคำสั่งเหล่านี้เพื่อโหลดลงในตารางเขตเวลา

การเรียกครั้งที่สองทำให้ mysql_tzinfo_to_sql โหลดไฟล์โซนเวลาเดียว tz_file ซึ่งสอดคล้องกับชื่อโซนเวลา tz_name ดังที่แสดงด้านล่าง -

shell> mysql_tzinfo_to_sql tz_file tz_name | mysql -u root mysql

หากเขตเวลาของผู้ใช้จำเป็นต้องนับเวลาเป็นวินาที mysql_tzinfo_to_sql สามารถเรียกใช้งานได้โดยใช้ไวยากรณ์ที่สาม ไวยากรณ์ที่สามนี้เริ่มต้นข้อมูลวินาทีกระโดด tz_file คือชื่อไฟล์เขตเวลาของคุณ -

shell> mysql_tzinfo_to_sql --leap tz_file | mysql -u root mysql

หลังจากเรียกใช้ mysql_tzinfo_to_sql ขอแนะนำให้รีสตาร์ทเซิร์ฟเวอร์เพื่อไม่ให้ใช้ข้อมูลเขตเวลาที่แคชไว้ก่อนหน้านี้ต่อไป