Rumah >pangkalan data >tutorial mysql >Mengapa MySQL Mengembalikan \'Nilai Zon Masa Pelayan \'AEST\' Tidak Diiktiraf\'?
Nilai Zon Masa Pelayan 'AEST' Tidak Diiktiraf atau Mewakili Lebih Daripada Satu Zon Masa
Apabila cuba mewujudkan sambungan ke MySQL pangkalan data, anda mungkin menghadapi ralat berikut:
The server time zone value 'AEST' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
Ralat ini berlaku apabila zon waktu pelayan konfigurasi tidak dikenali oleh pemacu JDBC. Untuk menyelesaikannya, anda perlu mengkonfigurasi pelayan atau pemacu JDBC untuk menggunakan nilai zon waktu yang lebih khusus.
Konfigurasikan Pelayan
Untuk mengkonfigurasi masa pelayan MySQL zon, tambah baris berikut pada fail konfigurasi my.cnf anda:
default-time-zone = 'Australia/Melbourne'
Ganti Australia/Melbourne dengan zon waktu yang sesuai untuk pelayan anda.
Konfigurasikan Pemacu JDBC
Jika anda lebih suka mengkonfigurasi pemacu JDBC dan bukannya pelayan, anda boleh menambah sifat berikut pada rentetan sambungan anda:
serverTimezone = 'Australia/Melbourne'
Sebagai contoh, URL sambungan anda yang dikemas kini akan kelihatan seperti ini:
jdbc:mysql://localhost:3306/parking_hib?useLegacyDatetimeCode=false&serverTimezone=Australia/Melbourne&useSSL=false
Pastikan untuk gantikan Australia/Melbourne dengan zon waktu yang sesuai untuk lokasi anda.
Nota: Sifat serverTimezone hanya disokong oleh pemacu MySQL Connector/J versi 6.0.4 dan lebih baru. Jika anda menggunakan versi pemacu yang lebih awal, anda perlu meningkatkan kepada versi 6.0.4 atau lebih baru untuk menggunakan penyelesaian ini.
Atas ialah kandungan terperinci Mengapa MySQL Mengembalikan \'Nilai Zon Masa Pelayan \'AEST\' Tidak Diiktiraf\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!