定期备份数据库始终是一种好习惯。有三种方法可以用来备份MySQL数据库。
通过PHP使用SQL命令
尝试以下使用SELECT INTO OUTFILE查询创建表备份的示例
<?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = '123456'; $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('不能连接: ' . mysqli_error($conn)); } $table_name = "test"; $backup_file = "./test.sql"; // 保存到当前目录的test.sql文件 $sql = "SELECT * INTO OUTFILE '$backup_file' FROM $table_name"; mysqli_select_db($conn,'test'); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('不能备份: ' . mysqli_error($conn)); } echo "备份数据成功 "; mysqli_close($conn); ?>
数据恢复在某些情况下,您可能需要恢复前一段时间备份的数据。要恢复备份,您只需要像这样运行LOAD DATA INFILE查询
<?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = '123456'; $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('不能连接: ' . mysqli_error($conn)); } $table_name = "test"; $backup_file = "./test.sql"; $sql = "LOAD DATA INFILE '$backup_file' INTO TABLE $table_name"; mysqli_select_db($conn,'test'); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('不能恢复数据 : ' . mysqli_error($conn)); } echo "数据恢复成功 "; mysqli_close($conn); ?>通过PHP使用MySQL mysqldump尝试以下示例来获取完整的数据库转储
<?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = '123456'; $dbname = 'test'; $backup_file = './'.$dbname . date("Y-m-d-H-i-s") . '.gz'; $command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass ". "test | gzip > $backup_file"; system($command); ?>使用phpMyAdmin或者Navicat等用户界面如果您有phpMyAdmin或者Navicat等用户界面,那么您可以很容易地备份数据库。要使用phpMyAdmin备份MySQL数据库,请单击phpMyAdmin主页上的“导出”链接。选择要备份的数据库,检查相应的SQL选项并输入备份文件的名称。相关资料
PHP MySQL连接和关闭
MySQL新建数据库和数据表
MySQL删除数据库和数据表
MySQL插入数据
PHP MySQL查询数据
PHP MySQL更新数据
PHP MySQL删除数据