Kun foorumin tietokanta saavuttaa tietyn koon, tulee sen palauttamisesta ja/tai siirtymisestä uudelle palvelimelle aavistuksen vaikeampaa, eikä työstäminen onnistu phpMyAdminin kauttakaan, vaikka tietokannan saisi sen avulla talteen. Tällöin tietokannan palauttamiselle jää kaksi vaihtoehtoa: mysql:n käyttö shellin kautta tai BigDump-nimisen ohjelman käyttö.
Molemmissa esimerkeissä vaaditaan, että tietokanta kopioidaan ensin FTP:llä palvelimelle. Paras sijoituspaikka on FTP-ohjelman tarjoamassa juurihakemistossa, eli tietokantaa ei tietoturvan takia kannata laittaa public_html tai www-hakemistoon tai niiden alaisiin hakemistoihin.
Kummatkin neuvot soveltuvat minkä tahansa tietokannan palauttamiseen, ei vain phpBB:n tietokannan!
Shell-yhteys
Shelliin otetaan yhteyttä käyttäen yleensä SSH-kykyistä pääteohjelmaa, Windowsissa yleensä Putty. Tunnukset ovat yleensä samat kuin webhotellipalveluntarjoajan antamat tunnukset FTP:lle, mutta asia kannattaa tarkastaa vielä erikseen omasta tunnuspaperistaan (joka kannattaa ehdottomasti tulostaa talteen ja lähetetty sähköpostikin kannattaa pitää tallessa).
Puttyyn tai pääteohjelmaan kirjoitetaan palveluntarjoajan palvelimen hostname, esimerkiksi muotoa palvelin.palveluntarjoaja.fi ja painetaan Open tai Connect. Tämän jälkeen joudut kirjoittamaan tunnuksen ja salasanan, onnistuneen kirjautumisen jälkeen pääsetkin sisälle. Nyt voit käyttää palvelinta aivan kuin se olisi oma koneesi, joskin olet rajoittunut pelkkään konsoliin. Voit käyttää UNIX-tyylisiä komentoja, esimerkiksi hakemistolistauksen saa tehtyä kirjoittamalla ls. Koska tietokannan pitäisi olla siinä hakemistossa jossa jo olet (eli sen pitäisi näkyä hakemistolistauksessa), tarvitsee vain tehdä kutsu, jolla tietokanta palautetaan. Tämä on muotoa:
mysql -u tietokannan_käyttäjä -p salasana tietokannan_nimi < phpbbtaulut.sql
Kohdat tietokannan_käyttäjä, salasana, tietokannan_nimi ja phpbbtaulut.sql tulee tietysti korvata omaa tilannettasi koskevilla tiedoilla. Huomaathan että palauttamisessa voi kestää tovi tietokannan koosta riippuen, eikä pääteohjelma tänä aikana todennäköisesti vastaa mihinkään näppäilyihin.
Huom! Jos olet muuttanut tietokantasi ja/tai foorumisi UTF-8:ksi, joudut tässä vaiheessa määrittämään merkistön, jotta tietokantasi palautuisi oikeassa muodossa. Tällöin kutsu on muotoa:
mysql -u tietokannan_käyttäjä -p salasana --default-character-set=utf8 tietokannan_nimi < phpbbtaulut.sql
BigDump
BigDump on PHP-skripti, joka palauttaa tietokantatiedostoa selaimen kautta kutsuttuna vähän kerrallaan. Se on siis siten hieman helpompi ensikertalaiselle ymmärtää kuin shell, mutta vaatii kuitenkin myös hieman skriptin säätämistä ennen käyttöönottoa. BigDumpin ZIP-tiedosto sisältää vain yhden tiedoston, joka sijoitetaan FTP:llä sellaiseen hakemistoon, johon voi selaimella ottaa yhteyttä. Tiedoston alussa on kohtia, joita tarvitsee muokata:
Koodi: Valitse kaikki
// Database configuration
$db_server = 'localhost';
$db_name = '';
$db_username = '';
$db_password = '';
// Other Settings
$filename = ''; // Specify the dump filename to suppress the file selection dialog
$linespersession = 3000; // Lines to be executed per one import session
$delaypersession = 0; // You can specify a sleep time in milliseconds after each session
// Works only if JavaScript is activated. Use to reduce server overrun
// Allowed comment delimiters: lines starting with these strings will be dropped by BigDump
$comment[]='#'; // Standard comment lines are dropped by default
$comment[]='-- ';
// $comment[]='---'; // Uncomment this line if using proprietary dump created by outdated mysqldump
// $comment[]='/*!'; // Or add your own string to leave out other proprietary things
// Connection character set should be the same as the dump file character set (utf8, latin1, cp1251, koi8r etc.)
// See http://dev.mysql.com/doc/refman/5.0/en/charset-charsets.html for the full list
$db_connection_charset = '';
Merkittävimmät kohdat ovat tietokannan tiedot, sekä tiedostonimi. Myös merkistökoodauksen voi asettaa, mikäli tietokanta on muussa muodossa kuin iso-8859-1:nä (eli latin1) tai jos palvelimen oletusmerkistökoodaus poikkeaa foorumin käyttämästä.
Mikäli sijoitat bigdumpin public_html tai www-hakemistoon, ja olet sijoittanut tietokannan turvallisesti tätä ylempään hakemistoon, tulee tiedostokohtaan jotakin tyyliin:
Koodi: Valitse kaikki
$filename = '../tietokanta.sql';
Lopuksi kutsut selaimesta BigDumpia tyyliin http://www.omadomain.fi/bigdump.php - palautus ei ala välittömästi, vaan saat ensin varmistusruudun.
MUISTA POISTAA BIGDUMP VÄLITTÖMÄSTI ONNISTUNEEN PALAUTTAMISEN JÄLKEEN!
BigDumpia voi kutsua vapaasti mistä tahansa selaimesta, joten sen poistaminen palvelimelta on hyvin aiheellista.
***************
Jätetään hetkeksi auki, jos joku haluaa kommentoida...