不幸的是,無法在RDS DB ParameterGroups中設置default_timezone,因此您的嘗試已經是正確的方向。
$ rds-describe-db-parameters default | grep "time_zone"
DBPARAMETER default_time_zone engine-default string static false
要設置通過設置全局你需要有未授予您作爲一個RDS用戶SUPER權限的全局值。
設置TIME_ZONE的唯一方法是在每個連接
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...
您必須在每次連接到數據庫時設置time_zone rver
例如,如果你使用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>'
查詢您連接到右後您的數據庫
這是什麼類型的數據庫? MySQL的? – Michael