중화사전망 - 자전 검색 - 더 많은 PHP MySQL 이 있다면 어떤 백업 도구를 사용하시겠습니까?

더 많은 PHP MySQL 이 있다면 어떤 백업 도구를 사용하시겠습니까?

다음 두 가지 방법은 연구용으로만 사용됩니다.

방법 1:

코드 복사 코드는 다음과 같습니다.

& lt? 서버측 프로그래밍 언어 (professional hypertext preprocessor 의 약어)

$ host = "localhost";

$ user = "루트";

$ password = ";

$ dbname = "dbname";

MySQL _ connect($ 호스트, $ 사용자, $ 암호);

Mysql _ select _ db ($ dbname);

$mysql= "이름 설정 utf8";

Mysql _ query ($ MySQL);

$ q1= MySQL _ query ("show tables");

While ($ t = MySQL _ fetch _ array ($ q1)) {

$ table = $ t [0];

$ Q2 = MySQL _ query ("create table ` $ table `"); $ SQL = MySQL _ fetch _ array ($ Q2);

$mysql. = $ SQL ['createtable']. "; \ n ";

$ Q3 = MySQL _ query ("select * from ` $ table `"); While ($ data = MySQL _ fetch _ assoc (Q3)) {

$ keys = array _ keys ($ data);

$ keys = array _ map(‘addslashes‘', $ keys);

$keys=join (`, ``, $ keys);

$keys= "`". $keys. ` ";

$ vals = array _ values ($ data);

$ vals = array _ map(‘addslashes‘', $ vals);

$ vals = join (',',',$ vals);

$vals= \ "\". $vals. ";

$mysql. = "insert into ` $ table ` ($ keys) values ($ vals); \ n "; }

$mysql. = "\ n";

}

$ filename = $ dbname.date ('ymj') 입니다. ".SQL";

$ FP = fopen($ filename,' w');

Fputs($ FP, $ MySQL);

Fclose ($ FP);

"데이터 백업 성공 및 파일 백업" 을 반향합니다. $ 파일 이름? & gt

두 번째 방법:

코드 복사 코드는 다음과 같습니다.

& lt? 서버측 프로그래밍 언어 (professional hypertext preprocessor 의 약어)

$ host = "localhost";

$ user = "루트";

$ password = ";

$ dbname = "dbname";

Backup _ tables($ 호스트, $ 사용자, $ 암호, $ 데이터베이스 이름); /* 데이터베이스 백업 또는 하나의 테이블만 백업 */

함수 backup _ tables($ host, $user, $pass, $name, $ tables =' *') {

$ link = MySQL _ connect($ 호스트, $ 사용자, $ pass); MySQL _ select _ db($ name, $ link);

//모든 테이블 가져오기

If ($ tables = =' *')

{

$ tables = array ();

$ result = MySQL _ query ('showtables');

While ($ row = MySQL _ fetch _ row ($ result))

{

$ tables [] = $ row [0];

}

}

기타

{

$ tables = is _ array($ tables)? $ tables: explode (',',$ tables); }

$ return = ";

//순환

Foreach($ tables as $ table)

{

$ result = MySQL _ query (select * from). $ 테이블); $ num _ fields = MySQL _ num _ fields ($ result);

$ 반환. =' 양식 삭제'. $ 테이블. & nbsp;';';' 을 눌러 섹션을 인쇄할 수도 있습니다

$ row2 = MySQL _ fetch _ row (MySQL _ query ('show create table'). $ 테이블); $ 반환. =' \ n \ n'. $ row2 [1]. "; \ n \ n ";

For($ I = 0;; $ I<$ num _ fields$i++)

{

While ($ row = MySQL _ fetch _ row ($ result))

{

$ 반환. = "삽입 위치". $ 테이블. 값 (; For($ j = 0;; $ j<$ num _ fields$j++)

{

$ row [$ j] = addslashes ($ row [$ j]);

$ row [$ j] = ereg _ replace ("\ n", "\\n", $ row [$ j]); If (isset ($ row [$ j])) {$ return. =''. $ row [$ j]. ""; } else {$return. =' """; }

If($ j<;; ($ num _ fields- 1){ $ return. =','; }

}

$ 반환. = "); \ n ";

}

}

$ 반환. =' \ n \ n \ n';

}

//파일 저장

$ handle = fopen ('d b-backup-'. 시간 (). -'.(md5 (내파 (',',$tables)). 。 Sql,' w+'); Fwrite($ handle, $ return);

Fclose ($ handle);

}

& gt