1. 소개
mysql 데이터베이스를 백업하는 방법에는 여러 가지가 있습니다.
예:
1.mysqldump 함수를 사용하세요
mysqldump -u username -p dbname table1 table2 ... > BackupName.sql
BackupName.sql 매개변수 테이블은 백업 파일의 이름을 지정합니다. 파일 이름 앞에 절대값을 추가할 수 있습니다. 데이터베이스는 일반적으로 접미사 이름이 sql인 파일로 나누어집니다.
기본 사용법:
이번에는 PHP 기능을 통해 데이터베이스를 자동으로 백업하는 방법을 주로 설명합니다2. 관련 기능 소개
2.1, fopen
2.2, array_keys
2.3, array_values2.4, implode
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']}结构
5. 결론
데이터베이스를 백업하는 주요 이유 프로세스:
1: 해당 데이터베이스로 전환합니다. 2: show create table tableName을 사용하여 테이블 구조를 가져와서 파일에 씁니다. 그런 다음 모든 테이블 데이터를 쿼리하고 반복하여 해당 SQL 문을 생성한 다음 파일에 씁니다. 4: 생성된 SQL 파일을 시험 실행합니다.위 내용은 PHP에서 자동 데이터베이스 백업을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!