Mysql
 sql >> база данни >  >> RDS >> Mysql

Регулиране за настройката на часовата зона по подразбиране на RDS

За съжаление не е възможно да се зададе default_timezone в RDS DB ParameterGroups, така че опитът ви вече е в правилната посока.

$ rds-describe-db-parameters default | grep "time_zone"
DBPARAMETER  default_time_zone                                                                   engine-default  string   static   false

За да зададете глобалната стойност чрез SET GLOBAL, трябва да имате привилегията SUPER, която не ви е предоставена като потребител на RDS.

Единственият начин да зададете time_zone е на базата на всяка връзка

mysql> SET time_zone = timezone;

На моите машини съм пробвал успешно US/Eastern, но имах доста старо поколение.

За да определите наличните часови зони, влезте в полето си

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 всеки път, когато се свързвате със сървъра на базата данни

Например, ако използвате разширението 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>' Заявка веднага след като сте се свързали с вашата база данни



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jar във външни библиотеки, но не може да се импортира в код

  2. Кое е по-бързо - INSTR или LIKE?

  3. Съхраняване на социалноосигурителни номера

  4. PHP/PDO/MySQL:вмъкването в MEDIUMBLOB съхранява лоши данни

  5. MySQL NULLIF() Обяснено