다음 편집기는 PHP를 사용하여 데이터베이스 테이블을 자동으로 백업하는 방법에 대한 기사를 제공합니다. 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리도록 하겠습니다. 에디터를 따라가며 함께 살펴볼까요
1. 소개
mysql 데이터베이스를 백업하는 방법은 다양합니다.
예:
1 mysqldump 함수를 사용하세요
mysqldump -u username -p dbname table1 table2 ... > BackupName.sql
dbname 매개변수는 데이터베이스 이름을 나타냅니다
table1 및 table2 매개변수는 백업해야 하는 테이블의 이름을 나타냅니다. 비어 있으면 전체 데이터베이스가 백업됩니다. BackupName.sql 매개변수 테이블은 백업 파일의 이름으로 설계되었습니다. 절대 경로는 파일 이름 앞에 추가할 수 있습니다. 데이터베이스는 일반적으로
접미사가 붙은 파일로 구분됩니다. 기본 사용:
2. 데이터베이스를 백업하는 방법에는 여러 가지가 있습니다. 위의 두 가지가 있습니다. 더 일반적입니다
이번에는 PHP 기능을 통해 데이터베이스를 자동으로 백업하는 방법을 주로 설명합니다2. 관련 기능 소개
2.1, fopen
2.2 , array_keys
2.3, array_values
2.4, 2.5, substr
2.6, fwrite
3. 구현 아이디어
4. 코드 구성
/** * [copyDb description] 备份数据库 * @param [type] $dbname [description] 数据库名 * @param [type] $fileName [description] 存储的文件名 * @return [type] [description] */ public function copyDb($dbname, $fileName){ $myfile = fopen($fileName, "w") or die("Unable to open file!");//打开存储文件 $this->link->query("use {$dbname}");//切换数据库 $this->changeDb($dbname); $tables = $this->link->query('show tables');//获取当期数据库所有表名称 while($re = $tables->fetch(PDO::FETCH_ASSOC)){ //var_dump($re);//查看数组构成 $tableName = $re['Tables_in_'.$dbname];//构成特定的下标 $sql = "show create table {$tableName};"; $tableSql = $this->link->query($sql); fwrite($myfile, "DROP TABLE IF EXISTS `{$tableName}`;\r\n");//加入默认删除表的遇见 //下面备份表结构,这个循环之执行一次 while($re = $tableSql->fetch(PDO::FETCH_ASSOC)){ // echo "<pre class="brush:php;toolbar:false">"; // var_dump($re); // echo ""; echo "正在备份表{$re['Table']}结构
주요과정 데이터베이스 백업:
해당 데이터베이스로 전환합니다. show create table tableName을 사용하여 테이블 구조를 가져와서 파일에 씁니다. 그런 다음 모든 테이블 데이터를 쿼리하고 해당 SQL 문을 생성합니다.
생성된 SQL 파일을 실행해 보세요.
위 내용은 PHP를 사용하여 데이터베이스 테이블을 자동으로 백업하는 방법에 대한 그래픽 코드 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!