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

Odstraňte klauzuli DEFINER z výpisů MySQL

Nemyslím si, že existuje způsob, jak ignorovat přidání DEFINER s na skládku. Existují však způsoby, jak je po vytvoření souboru výpisu odstranit.

  1. Otevřete soubor výpisu v textovém editoru a nahraďte všechny výskyty [email protected] s prázdným řetězcem ""

  2. Upravte výpis (nebo výstup potrubím) pomocí perl :

    perl -p -i.bak -e "s/DEFINER=\`\w.*\`@\`\d[0-3].*[0-3]\`//g" mydatabase.sql
    
  3. Propojte výstup přes sed :

    mysqldump ... | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > triggers_backup.sql
    


  1. Kdy použít zděděné tabulky v PostgreSQL?

  2. Vkládání dat do více tabulek pomocí jednoho formuláře

  3. Uzamknout pro SELECT, aby jiný proces nezískal stará data

  4. PHP - Náhodně změněné porty v aplikaci Azure mySQL