sql >> Databáze >  >> RDS >> Mysql

Jak volat proceduru při každém připojení mysql vytvořeném na amazon RDS

Jste na správné cestě, ale jeden krok jste špatně pochopili kvůli nejednoznačnému formulování v druhé odpovědi:

Takže v podstatě děláte toto:

mysql> rds-modify-db-parameter-group ...

Ale místo toho byste měli dělat toto:

$ rds-modify-db-parameter-group ...

Není to příkaz MySQL, je to příkaz shellu. Instance RDS nemají přístup k shellu, takže ke spuštění tohoto příkazu potřebujete jiný počítač. Typicky to může být instance EC2, takže předpokládám, že to autor druhého manažera myslel výrazem „vaše instance“, ale může to být jakýkoli počítač, který má Nástroje rozhraní příkazového řádku RDS nainstalovány .

Můžete to provést také z Konzola RDS .

Všimněte si také, že byste to mohli udělat také o něco stručněji, úplně se vyhnout uložené proceduře a dokonce i testu pro rdsadmin , nastavením init_connect komu:

SET @@time_zone = '+5:30'

rdsadmin uživatel by měl být imunní vůči init_connect protože má SUPER privilegium.

Pokud byste raději testovali rdsadmin každopádně...

SET @@time_zone = CASE
     WHEN CURRENT_USER() LIKE '[email protected]%' THEN @@time_zone
    ELSE '+5:30' END

Nastavením proměnné na stejnou proměnnou zůstane hodnota nezměněna.

Poznámka @@time_zone a SESSION time_zone jsou ekvivalentní.




  1. Fulltextové vyhledávání od PostgreSQL 8.3

  2. Chci spouštěč pro DELETE ze 2 tabulek v MySQL

  3. Jak zachovat pořadí vkládání na SQL Server

  4. Žebříček s miliony záznamů