Remote mysql de recuperare de baze de date folosind php

Remote mysql de recuperare de baze de date folosind php

Cum de a importa o mare SQL script (baza de date MySQL benă de off-line phpBB), în cazul în care spocobami convenționale (descărcare prin interfata web phpMyAdmin, cPanel Backup) este problematică, mai ales în conexiunea prin modem.







Cum de a importa o mare SQL script (baza de date MySQL benă de off-line phpBB), în cazul în care spocobami convenționale (descărcare prin interfata web phpMyAdmin, cPanel Backup) este problematică, mai ales în conexiunea prin modem.

Puteți încerca să utilizați un client MySQL ca SQLyog, MySQL-Front etc. dar nu din nou faptul că se va încheia în siguranță.

Timpul minim - 1 (de obicei 2-5), în a doua transmisie și executarea unei SQL-comandă (și dacă acestea sunt de aproximativ cinci mii de descărcări vor lua întreaga zi, plus necesitatea de a monitoriza dacă conexiunea a scăzut?). Puteți importa un depozit de fișier folosind phpMyAdmin sau cantități mari de date folosind metoda POST a forma built-in cPanel (care este de fapt o singură cifră), dar încărcarea nu este foarte fiabil și nepractice - metoda POST este potrivit pentru sarcinile de rutină, cum ar fi „Introduceți un nume“, și așa mai departe. d.







După ce am încercat toate aceste metode, am aflat că principala problemă este transmiterea continuă a unui fișier de 9 MB. Trimite fișierul, spui? Deci, este făcut prin FTP bun vechi! Puteți completa o groapa de pe FTP (fără a avea grija de integritatea, pentru că puteți și mosor) și cere administratorilor pentru a restabili baza de date, dar nu și faptul că vă poate ajuta, mai ales pe hosting gratuit. Deși ... unde ați văzut găzduirea gratuită de la MySQL? Rușine pentru programator, care de fiecare dată când scuturare subquality lor de sprijin.

Este nevoie de o mulțime de resurse server, întregul fișier este citit în memorie. Puteți îmbunătăți citirea din fișier a unor comenzi SQL individuale. Vom considera acest lucru ca fiind punctul de plecare pentru un utilitar complex de recuperare a bazei de date pe serverul MySQL.

mysql_connect ("localhost", "login", "parola");
mysql_select_db ("baza de date");

if (! file_exists ($ fname)) mor ("Fișierul $ fname nu există!");
$ fp = fopen ($ fname, "r");
$ buffer = fread ($ fp, dimensiunea fișierului ($ fname));
fclose ($ fp);

în timp ce ($ next = strpos ($ buffer, ";", $ prev + 1))
<
$ i ++;
$ a = substr ($ tampon, $ prev + 1, $ next- $ prev);
mysql_query ($ a);
$ prev = $ următor;
>

ecou "Comenzi $ i executate";

Ceva de genul asta.

$ fname - numele fișierului dump SQL
$ prev - poziția anterioară ";"
$ next - poziția următorului ";" începând cu $ prev

Noi numim scriptul de genul: sqlbackup.php? Fname = backup.sql. va fi executat fișierul backup.sql. La sfârșit, se afișează numărul de comenzi executate. Măsoară timpul de execuție pentru interes, aici pentru simplitatea pe care am eliminat-o. Toată lumea poate complica, după cum consideră potrivit, este doar o soluție simplă la sarcina zilnică în cinci minute.

S-ar putea să vă placă.







Articole similare

Trimiteți-le prietenilor: