Bagaimanakah saya menguruskan zon waktu dalam MySQL?

DDD
Lepaskan: 2024-11-06 20:15:03
asal
194 orang telah melayarinya

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
Salin selepas log masuk

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

USE mysql;
SELECT * FROM `time_zone_name`;
Salin selepas log masuk

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` ;
Salin selepas log masuk

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
Salin selepas log masuk

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

[client]
user=root
password=yourMysqlRootPW
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!