Fórum Root.cz

Hlavní témata => Server => Téma založeno: fotka 22. 04. 2011, 13:53:27

Název: Nahrazení v 50 databázích najednou
Přispěvatel: fotka 22. 04. 2011, 13:53:27
Ahoj,

potřeboval bych od Vás napsat znění mysql požadavku.

mám wordpress blogy a na nich jsou registrovaní uživatelé. Já potřebuji na všech těchto blozích změnit práva 1 uživateli z Návštěvníka na Redaktora.

Všiml jsem si že to je uloženo v Mysql tabulce wp_usermeta.

Jsou tam sloupce: umeta_id, user_id , meta_key, meta_value

potřebuji změnit v tabulkách hodnotu meta_value kde ve sloupci meta_key se hodnota rovná wp_capabilities.

tady jsem to vyfotil pro vás:
(http://s1.postimage.org/v7yq8znmr/sql.png)

potřebuji u daného uživatele (například uzivatel1) změnit tu hodnotu meta_value z
a:1:{s:10:"subscriber";s:1:"1";}
na
a:1:{s:6:"author";b:1;}

Jak to dokázat pro více databází najednou, například db1, db2 ?

Pokud byste to dokázali zkonstruovat budu moc vděčný. Pokud byste za to chtěli i zaplatit, prosím pošlete mi číslo Vašeho účtu. Prosím nepište žádné offtopic, pak se v tom člověk nevyzná. nebo jen SZ.

děkuji moc,
P.
Název: Re: Mysql Query pro nahrazení v 50 databázích
Přispěvatel: kosta 22. 04. 2011, 15:07:10
http://www.linuxsoft.cz/article.php?id_article=731
Název: Re: Nahrazení v 50 databázích najednou
Přispěvatel: ghost 22. 04. 2011, 17:26:05
jednoduchym cyklem v php, pres vsechny databaze ...
jinak to: a:1:{s:10:"subscriber";s:1:"1";}
je serializovane php pole - takze deserializovat, zmenit, znovu serializovat a ulozit ...
Název: Re: Nahrazení v 50 databázích najednou
Přispěvatel: ghost 22. 04. 2011, 17:28:11
a vlastne kdyz vis, co tam ma byt tak jen update pres vsechny databaze
Název: Re: Nahrazení v 50 databázích najednou
Přispěvatel: fotka 22. 04. 2011, 18:03:24
Děkuji, chtěl bych poprosit, pokud by to někdo uměl sestrojit a měl čas, zda by to sem mohl napsat. Bohužel já to nesvedu. Děkuji případě za pomoc, F.
Název: Re: Nahrazení v 50 databázích najednou
Přispěvatel: Tomas 22. 04. 2011, 18:13:57
No melo by to jit i pres radku. Ja ted nemam pristup, ale neco v tomto smyslu:

echo "show databases" | mysql | awk '{print "USE " $0 "; update ....;"}' | mysql

Ale vubec jsem to nezkousel :) Udelej si to krok po kroku at vis co ti leze z te pipe. Zacni echo, atd.