MariaDB/MySQL: jak přejmenovat databázi a uživatele?

Rhinox

  • ***
  • 106
    • Zobrazit profil
    • E-mail
Mam na localhostu mariadb-databazi treba s nazvem "db1", a uzivatele "user1" kterej k ni ma gratovana vsechny prava.

Jak to mam udelat, kdyz chci prejmenovat databazi "db1" na "db2", a uzivatele "user1" na "user2" s tim aby byly zachovany pristupova prava (aby "user2" mel ty same prava k databazi "db2" ktere mel "user1" k databazi "db1")?

Uzivatele je snadno prejmenovat, treba jako root:
RENAME USER 'user1' TO 'user2'

Ale jak to udelat s tou databazi?
« Poslední změna: 26. 11. 2021, 22:51:39 od Petr Krčmář »



Rhinox

  • ***
  • 106
    • Zobrazit profil
    • E-mail
Re:MariaDB/MySQL: jak přejmenovat databázi a uživatele?
« Odpověď #2 kdy: 27. 11. 2021, 07:20:31 »
achjo, vzdycky se musi najit nakej chytrak co zacne machrovat s googlem, aniz by si precetl dotaz...

yoyoA

Re:MariaDB/MySQL: jak přejmenovat databázi a uživatele?
« Odpověď #3 kdy: 27. 11. 2021, 08:37:17 »
MySql to má v novějších verzích vypnuto čtu v tomto článku, zde doporučují mysql dump a reimporting s opravenými názvy. Zkuste.

Rhinox

  • ***
  • 106
    • Zobrazit profil
    • E-mail
Re:MariaDB/MySQL: jak přejmenovat databázi a uživatele?
« Odpověď #4 kdy: 27. 11. 2021, 10:06:59 »
mysqldump znam, jenze nevim jak to udelat aby prejmenovanej uzivatel mel ty same prava k "prejmenovane" databazi jako mel puvodni uzivatel k puvodni (krom toho ze bych to vsechno delal manualne, coz je peknej vopruz)...


Re:MariaDB/MySQL: jak přejmenovat databázi a uživatele?
« Odpověď #5 kdy: 27. 11. 2021, 17:12:46 »
Dump databaze, sedem upravit uzivatele a databazi v dumpu, importovat upraveny dump zpet do mysql. Puvodni db a uzivatele smazat.

Re:MariaDB/MySQL: jak přejmenovat databázi a uživatele?
« Odpověď #6 kdy: 29. 11. 2021, 10:38:36 »
Ak mas InnoDB, tak tabulky vies aj premenovat bez dumpu, ak mas vytvorenu db2
mysql> RENAME TABLE db1.books TO db2.books;

Uzivatelov a ich granty vies  backupovat pouzitim mysqlpump. Potom si len vyberies riadky obsahujuce user1, prepises na user2 a spustis.
$ mysqlpump --exclude-databases=% --users