Az előző Roundcube-ról szóló postomban leírtam, hogyan tudjuk frissíteni a webmail-ünket. Sajnos egy csomó hiba generálódott, nem volt jó a karakterkódolás stb., ezért ma teljesen újratettem az egész kócerájt. Természetesen mindenről készítettem biztonsági mentést.
Jelen írás feltételezi, hogy rendelkezünk a régi adatbázisunkról biztonsági mentéssel!
A régi adatbázist elküldtem melegebb éghajlatra, és egy teljesen üreset hoztam létre. Ez természetesen azzal járt, hogy a benne levő címjegyzékek, felhasználók törlődtek. Tudom, hogy ennek sokan nem fognak örülni, de csak egy e-mail, és máris visszakerül minden szükséges, és pótolhatatlan adatuk.
Hogyan?
Egyszerűen. Tegyük fel, hogy megkaptuk Kala Pál nevű felhasználónktól a reklamációt, hogy márpedig nagyon gyorsan állítsuk helyre neki a címjegyzékét. A következőekben részletesen leírom, hogy miket kell végrehajtani, de előtte néhány megjegyzés a követhetőségért.
A roundcube_db a Roundcube-hoz tartozó aktuális adatbázisom neve, a roundcube_db_backup pedig a régi adatbázis, ezért ezeket tessék a saját konfigurációnknak megfelelőre cserélni. Az előforduló neveket, e-mail címeket szintén tessék cserélgetni értelem szerűen.
mysql -p
mysql> USE roundcube_db_backup;
mysql> SELECT * FROM users WHERE username = "kala.pal";
Ezek után egy ehhez hasonló kimenetet kapunk:
+---------+-----------+-----------------+-------+---------------------+---------------------+----------+--------------- ---------------------------+
| user_id | username | mail_host | alias | created | last_login | language | preferences |
+---------+-----------+-----------------+-------+---------------------+---------------------+----------+--------------- ---------------------------+
| 641 | kala.pal | imap.sch.bme.hu | | 2008-10-29 19:06:13 | 2009-02-12 10:54:23 | hu_HU | a:2:{s:16:"mes e_sort_order";s:4:"DESC";} |
+---------+-----------+-----------------+-------+---------------------+---------------------+----------+--------------- ---------------------------+
1 row in set (0.00 sec)
Ebből nekünk a felhasználó azonosítójára van szükségünk, amit a user_id oszlop tartalmaz. Esetünkben ez a 641.
mysql> SELECT * FROM contacts WHERE user_id = "641";
+------------+---------------------+-----+------------+-----------------------+-----------+---------+-------+---------+
| contact_id | changed | del | name | email | firstname | surname | vcard | user_id |
+------------+---------------------+-----+------------+-----------------------+-----------+---------+-------+---------+
| 345 | 2009-02-14 13:48:52 | 0 | Gép Elek | gep.elek@email.cim.hu | | | NULL | 641 |
| 543 | 2009-02-14 13:48:55 | 0 | Halász Gabriella | gaboo.mano@sehol.se | | | NULL | 641 |
| 578 | 2008-11-08 21:33:23 | 0 | [kszk] | kszk@mail.cim.hu | | | NULL | 641 |
+------------+---------------------+-----+------------+-----------------------+-----------+---------+-------+---------+
3 rows in set (0.00 sec)
Ezeket a sorokat kell majd a roundcube_db contacts táblájába bele tenni, de előtte még szükségünk van Kala Pál azonosítóira az aktuális adatbázisunkban.
mysql> USE roundcube_db;
mysql> SELECT * FROM users WHERE username = "kala.pal";
mysql> SELECT * FROM contacts;
Az utolsó parancs kiadása után nézzük meg, hogy mi a legutolsó contact_id, mert nekünk eggyel nagyobb értéket kell megadnunk az új adatok megadásánál. Az utolsó oszlopban kala.pal user_id-ját kell megadni, ami esetünkben most 2.
mysql> INSERT INTO contacts (contact_id, changed, del, name, email, firstname, surname, vcard, user_id) VALUES(3,"2008-11-08 21:33:23",0,"[kszk]","kszk@mail.cim.hu","","",NULL,2);
Ezt minden egyes sorral elvégezve felhasználónk már használhatja is újra a címjegyzékét.
Hello world!
1 hónapja
Nincsenek megjegyzések:
Megjegyzés küldése