दुर्भाग्य से RDS DB ParameterGroups में default_timezone सेट करना संभव नहीं है, इसलिए आपका प्रयास पहले से ही सही दिशा में था।
$ rds-describe-db-parameters default | grep "time_zone"
DBPARAMETER default_time_zone engine-default string static false
SET GLOBAL के माध्यम से वैश्विक मूल्य निर्धारित करने के लिए आपके पास सुपर विशेषाधिकार होना चाहिए जो आपको RDS उपयोगकर्ता के रूप में नहीं दिया गया है।
टाइम_ज़ोन सेट करने का एकमात्र तरीका प्रति-कनेक्शन के आधार पर है
mysql> SET time_zone = timezone;
अपनी मशीनों पर मैंने यूएस/ईस्टर्न को सफलतापूर्वक आज़माया है लेकिन मुझे काफी पुरानी पीढ़ी चल रही है।
आपके पास उपलब्ध समय क्षेत्र निर्धारित करने के लिए अपने बॉक्स में लॉग इन करें
mysql -h yourboxhost.rds.amazonaws.com -u <youruser> -p
और टाइप करें
mysql> SELECT * FROM mysql.time_zone_name;
आपको स्थापित और मान्य समयक्षेत्र नामों की एक सूची मिलनी चाहिए जिन्हें आप अपने उदाहरण पर सेट कर सकते हैं
+----------------------------------------+--------------+
| 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...
हर बार जब आप अपने डेटाबेस सर्वर से कनेक्ट होते हैं तो आपको टाइम_ज़ोन सेट करना पड़ता है
उदाहरण के लिए यदि आप php Mysqli एक्सटेंशन का उपयोग करते हैं तो आप ऐसा कर सकते हैं
$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');
अन्यथा केवल मैन्युअल रूप से (अपने डेटाबेस कनेक्टर को ऐसा करने दें) SET time_zone = '<YOUR_DESIRED_TIMEZONE>'
निष्पादित करें अपने डेटाबेस से कनेक्ट होने के ठीक बाद क्वेरी करें