Rất tiếc, không thể đặt default_timezone trong Nhóm tham số RDS DB, vì vậy nỗ lực của bạn đã đúng hướng.
$ rds-describe-db-parameters default | grep "time_zone"
DBPARAMETER default_time_zone engine-default string static false
Để đặt giá trị toàn cục qua SET GLOBAL, bạn cần có đặc quyền SUPER không được cấp cho bạn với tư cách là người dùng RDS.
Cách duy nhất để đặt múi giờ là trên cơ sở mỗi kết nối
mysql> SET time_zone = timezone;
Trên máy của tôi, tôi đã thử US / Eastern thành công nhưng tôi có một thế hệ khá cũ đang chạy.
Để xác định múi giờ bạn có sẵn, hãy đăng nhập vào ô của bạn
mysql -h yourboxhost.rds.amazonaws.com -u <youruser> -p
và nhập
mysql> SELECT * FROM mysql.time_zone_name;
Bạn sẽ nhận được danh sách các tên múi giờ hợp lệ và đã cài đặt mà bạn có thể đặt trên phiên bản của mình
+----------------------------------------+--------------+
| Name | Time_zone_id |
+----------------------------------------+--------------+
| Africa/Abidjan | 1 |
| Africa/Accra | 2 |
| Africa/Addis_Ababa | 3 |
| Africa/Algiers | 4 |
| Africa/Asmara | 5 |
| Africa/Asmera | 6 |
| Africa/Bamako | 7 |
| Africa/Bangui | 8 |
| Africa/Banjul | 9 |
| Africa/Bissau | 10 |
| Africa/Blantyre | 11 |
| Africa/Brazzaville | 12 |
| Africa/Bujumbura | 13 |
| Africa/Cairo | 14 |
etc...
Bạn phải đặt múi giờ mỗi lần bạn kết nối với máy chủ cơ sở dữ liệu của mình
Ví dụ:nếu bạn sử dụng tiện ích mở rộng php Mysqli, bạn có thể thực hiện việc này
$mysqli = mysqli_init();
mysqli_options($mysqli,MYSQLI_INIT_COMMAND,"SET time_zone = 'Africa/Brazzaville'" );
mysqli_real_connect($mysqli,$host, $user, $pass,$dbName) or die ('Unable to connect');
Nếu không, chỉ cần thủ công (trong điều kiện để trình kết nối cơ sở dữ liệu của bạn làm việc đó) thực thi SET time_zone = '<YOUR_DESIRED_TIMEZONE>'
Truy vấn ngay sau khi bạn đã kết nối với cơ sở dữ liệu của mình