Fórum Root.cz

Hlavní témata => Server => Téma založeno: Rhinox 26. 11. 2021, 21:53:32

Název: MariaDB/MySQL: jak přejmenovat databázi a uživatele?
Přispěvatel: Rhinox 26. 11. 2021, 21:53:32
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?
Název: Re:MariaDB/MySQL: jak přejmenovat databázi a uživatele?
Přispěvatel: Okabe 26. 11. 2021, 23:45:55
https://www.google.com/search?q=mariadb+rename+database
Název: Re:MariaDB/MySQL: jak přejmenovat databázi a uživatele?
Přispěvatel: Rhinox 27. 11. 2021, 07:20:31
achjo, vzdycky se musi najit nakej chytrak co zacne machrovat s googlem, aniz by si precetl dotaz...
Název: Re:MariaDB/MySQL: jak přejmenovat databázi a uživatele?
Přispěvatel: yoyoA 27. 11. 2021, 08:37:17
MySql to má v novějších verzích vypnuto čtu v tomto článku (https://chartio.com/resources/tutorials/how-to-rename-a-database-in-mysql/), zde doporučují mysql dump a reimporting s opravenými názvy. Zkuste.
Název: Re:MariaDB/MySQL: jak přejmenovat databázi a uživatele?
Přispěvatel: Rhinox 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)...
Název: Re:MariaDB/MySQL: jak přejmenovat databázi a uživatele?
Přispěvatel: ⚫⚫⚫ 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.
Název: Re:MariaDB/MySQL: jak přejmenovat databázi a uživatele?
Přispěvatel: mark42 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