Nahrazení v 50 databázích najednou

fotka

  • ***
  • 216
    • Zobrazit profil
    • Linux forum
    • E-mail
Nahrazení v 50 databázích najednou
« kdy: 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:


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.
« Poslední změna: 22. 04. 2011, 16:36:46 od Petr Krčmář »
Linux nováček - CeskeForum.com


kosta


ghost

Re: Nahrazení v 50 databázích najednou
« Odpověď #2 kdy: 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 ...

ghost

Re: Nahrazení v 50 databázích najednou
« Odpověď #3 kdy: 22. 04. 2011, 17:28:11 »
a vlastne kdyz vis, co tam ma byt tak jen update pres vsechny databaze

fotka

  • ***
  • 216
    • Zobrazit profil
    • Linux forum
    • E-mail
Re: Nahrazení v 50 databázích najednou
« Odpověď #4 kdy: 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.
Linux nováček - CeskeForum.com


Tomas

Re: Nahrazení v 50 databázích najednou
« Odpověď #5 kdy: 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.