Käytän MySQL-tietokantaa pienessä "hakukone"-projektissani (http://suomihaku.kotisivumme.com) ja se löytää jo 1600 sivua (WOW! :D) ja noiden eteen olen tehnyt paljon työtä... useampia tunteja jopa. Tiedän, että MySQL:ää vaivaa se ongelma, että se korruptoi tietokantoja aina sillointällöin, joten tietoa saattaa hukkua ja kyselisin nyt, että millaisia keinoja minulla olisi, että minä saisin nuo hakukoneen tietokannoissa olevat sivut pysymään tallessa.
Käytössä on siis Linux-kone (Debian Linux), MySQL ja PHP.
Tietokannan säännöllinen varmuuskopiointi kannattaa.
Mutta minä en ole kuullutkaan, että MySQL:llä olisi tuollainen tapa.
Minulla lukee muistaakseni koulukirjassakin tuosta korruptoitumisesta. Ja olen kerran kohdannut tämän aikaisemmin kun faijan foorumi (yli 10.000 viestiä) korruptoitui käyttökelvottomiksi. Ei auttanut mikään muu kuin aloittaa alusta koko foorumi.
Mitä tiedostoja ja missä ne MySQL-tietokannat sitten oikein sijaitsevat tietokoneella, että jos niitä aikoo sitten kopioida aina säännöllisesti talteen?
Eikös esim. phpmyadmin sisällä työkalut siihen
yhden kannan varmuuskopionti, jos ei tarvi salasanaa niin -p vipu pois
mysqldump -u user -p db1 > backup.sql
tai koko mysql (jos omalla koneella, backuppaa (mielestäni) myös mysqlin sisäsia kantoja, jolloin esim. käyttäjätunnuksiakaan ei tarvi luoda uusiksi jne. kun palauttaa):
mysqldump -u admin -p --all-databases > fullbackup.sql
lisääinfoa:
man mysqldump
edit: phpmyadmin :/
Julie Melonin kirjoittamassa MySQL Trainer Kitissä on ohjeet s.257. Eli käyttämällä SQL:n BACKUP TABLE ja RESTORE TABLE komentoja onnistuu taulukerrallaan.
Toinen vaihtoehto oli käyttää mysqldump ohjelmaa, joka tekee tietokannasta SQL kysely tiedostot, joiden avulla voi rakentaa tietokannan uudelleen. Tämä auttaa korjaamaan myös korruptoituneita kantoja, mutta vie tietysti isoissa tietokannoissa rutkasti aikaa.
btw: kyllä mysqldump osaa tehdä vaikka erillisia filuja eri tauluille ja muutenkin kannataa lukaista se man-sivu, eri vipuilla saa kivoja juttuja aikaiseksi, esim lukot jne.
mysql administrator sisältää ajoitetun varmuuskopioinnin, sekä paljon muita hyödyllisiä työkaluja.
Toimii paljon kivuttovammin kuin selainpohjaiset sovellukset.
http://dev.mysql.com/downloads/administrator
sekä muuta hyödyllistä
http://dev.mysql.com/downloads/
Eli entäs sitten jos tekee tuolla mysqldump:lla sen varmuuskopion niin kuinka se palautetaan käyttöön? Pitääkö se tiedosto siirtää johonkin vai onko siihenkin joku komento, kuten sen varmuuskopion ottamiseen? Vilkaisin nopeasti man mysqldump, mutta pikaisesti katsottuna en huomannut, että siinä olisi vipua sille?
EDIT: Näköjään sillä onnistuu myös palauttaminen. Asia selvisi...
juhaz kirjoitti:
Eli entäs sitten jos tekee tuolla mysqldump:lla sen varmuuskopion niin kuinka se palautetaan käyttöön?
http://dev.mysql.com/doc/refman/5.0/en/
shell> mysql db_name < backup-file.sql
Käyttäjätunnuksen ja salasanan suhteen toimii muistaakseni samat vivut, kuin mysqldumpissa.
Edit: Hidas...
MySQL:n sisällä voi kirjoittaa myös:
\. /home/petteri/backup.sql
Aihe on jo aika vanha, joten et voi enää vastata siihen.