중화사전망 - 자전 검색 - 더 많은 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