Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara mengatur zona waktu database untuk instans AWS RDS

Sebelum sisa jawaban saya, saya hanya ingin merekomendasikan sekarang bahwa jika Anda memiliki opsi untuk mengubah aplikasi Anda menggunakan UTC, itu akan menyelamatkan Anda dari banyak kesedihan sekarang dan di masa depan.

Namun mengingat konteks pertanyaan Anda, saya berasumsi bahwa ini bukan opsi dan Anda mengadaptasi sistem yang dirancang untuk menggunakan MySQL di lingkungan server tradisional tempat Anda dapat mengubah zona waktu, dan bahwa ada logika kode yang mengharapkan zona waktu ini dan tidak dapat dengan mudah disesuaikan untuk menggunakan UTC.

Tetapi jika Anda benar-benar membutuhkannya untuk disimpan sebagai PST, baca terus.

Anda benar bahwa mySql akan menggunakan zona waktu server untuk penyimpanan stempel waktu secara default, namun asumsi Anda bahwa instans RDS memiliki zona waktu yang ditetapkan berdasarkan wilayah AWS tempat peluncurannya salah - semua instans RDS diluncurkan dengan zona waktu yang ditetapkan sebagai UTC, dan konfigurasi ini dapat tidak dapat diubah:

Jadi satu-satunya pilihan Anda adalah menyetel zona waktu pada setiap koneksi yang dibuat aplikasi Anda ke instance database ke PST. Anda dapat menggunakan SET SESSION time_zone = 'PST' kueri untuk dieksekusi di setiap koneksi yang dibuat aplikasi dengan mengikuti dua langkah ditemukan di sini :

  1. Buat prosedur tersimpan berikut (UTC-8 adalah PST):

  2. Hubungkan ke instance Anda, dan jalankan perintah berikut:

  3. Anda mungkin perlu memberikan EXECUTE izin ke pengguna yang akan terhubung ke database, jika tidak, Anda mungkin mendapatkan kesalahan koneksi:

Sekarang setiap kueri yang dijalankan terhadap instans RDS Anda oleh klien mana pun harus menggunakan PST tanpa mengubah logika aplikasi apa pun dan tanpa perlu memperbarui stempel waktu yang sebelumnya disimpan di database.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bahasa arab di php/mysql muncul ???? tanda tanya di html

  2. Mempertahankan nilai kotak teks bahkan setelah penyegaran

  3. sebar plot di jfreechart dari database

  4. Lembar Cheat Kinerja MySQL

  5. MySQL Update Incremented (Tidak Auto-Incremented) Nilai Kolom