Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah saya menguruskan zon waktu dalam MySQL?

Bagaimanakah saya menguruskan zon waktu dalam MySQL?

DDD
DDDasal
2024-11-06 20:15:03200semak imbas

How do I manage time zones in MySQL?

Zon Waktu MySQL

MySQL menyokong senarai zon waktu yang komprehensif, membolehkan pembangun mengurus dan memanipulasi data tarikh dan masa dengan tepat. Ketersediaan zon waktu dalam tetapan MySQL bergantung pada sistem pengendalian hos yang mendasari, tetapi terdapat kaedah untuk memuatkan maklumat zon waktu dan mengakses senarai lengkap.

Untuk menetapkan waktu tempatan bagi wilayah tertentu, seperti Calgary, pentadbir boleh memuatkan data zon masa daripada sistem menggunakan arahan berikut:

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

Setelah dimuatkan, senarai zon waktu yang tersedia boleh dilihat dengan melaksanakan:

USE mysql;
SELECT * FROM `time_zone_name`;

Ini akan dipaparkan senarai komprehensif semua zon waktu yang diiktiraf dalam sistem.

Apabila berurusan dengan zon waktu dalam MySQL, adalah penting untuk ambil perhatian bahawa maklumat zon waktu menggunakan lebih kurang 5 MB ruang pangkalan data. Untuk memunggah data zon waktu, laksanakan arahan berikut dan mulakan semula MySQL:

TRUNCATE `time_zone` ;
TRUNCATE `time_zone_leap_second` ;
TRUNCATE `time_zone_name` ;
TRUNCATE `time_zone_transition` ;
TRUNCATE `time_zone_transition_type` ;

Menggugurkan jadual ini harus dielakkan kerana ia boleh membawa kepada isu.

Untuk kemas kini zon waktu automatik, pastikan bahawa log masuk akar dibenarkan tanpa gesaan kata laluan. Dalam MySQL versi 5.6.6 dan lebih baru, laksanakan:

mysql_config_editor set --login-path=client --host=localhost --user=root --password

Untuk versi sebelum 5.6.6, cipta fail ~/.my.cnf dan sertakan yang berikut:

[client]
user=root
password=yourMysqlRootPW

Ubah suai kebenaran fail untuk memastikan privasi. Skrip crontab boleh ditambah untuk kemas kini zon waktu harian:

#!/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

Dengan melaksanakan teknik ini, pembangun boleh mengurus zon waktu dalam MySQL dengan berkesan dan memastikan pengendalian tarikh dan masa yang tepat dalam aplikasi mereka.

Atas ialah kandungan terperinci Bagaimanakah saya menguruskan zon waktu dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn