sql >> Database teknologi >  >> RDS >> Mysql

Justering for standardtidszoneindstillingen på RDS

Desværre er det ikke muligt at indstille default_timezone i RDS DB ParameterGroups, så dit forsøg var allerede i den rigtige retning.

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

For at indstille den globale værdi via SET GLOBAL skal du have SUPER-privilegiet, som ikke er givet til dig som RDS-bruger.

Den eneste måde at indstille time_zone på er på en per-forbindelse basis

mysql> SET time_zone = timezone;
 

På mine maskiner har jeg prøvet US/Eastern med succes, men jeg fik en ret gammel generation kørende.

Log ind på din boks for at bestemme de tidszoner, du har til rådighed.

mysql -h yourboxhost.rds.amazonaws.com -u <youruser> -p
 

og skriv

mysql> SELECT * FROM mysql.time_zone_name;
 

Du bør få en liste over installerede og gyldige tidszonenavne, du kan indstille på din instans

+----------------------------------------+--------------+ | 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...

Du skal indstille time_zone hver gang du opretter forbindelse til din databaseserver

Hvis du for eksempel bruger php Mysqli-udvidelsen, kan du gøre dette

$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');
 

Ellers skal du bare manuelt (med hensyn til lad din databaseforbindelse gøre det) udfør SET time_zone = '<YOUR_DESIRED_TIMEZONE>' Forespørg lige efter du har oprettet forbindelse til din database



  1. Dvale navnestrategi, ændring af tabelnavne

  2. Hvad er PyMySQL, og hvordan adskiller det sig fra MySQLdb? Kan det påvirke Django-implementeringen?

  3. MySQL standarddato() + 14 dage, for en kolonne?

  4. Automatiseret test af opgraderingsprocessen til PostgreSQL