PHP后台备份MySQL数据库的源码实例

2022-10-11 22:02:41 168 0
魁首哥

概述

PHP 备份 Mysql 数据库的源代码,在完善的 PHP+Mysql 项目中,在后台都会有备份 Mysql 数据库的功能,有了这个功能,对于一些不便自己写shell脚本备份的VPS来说,就不用使用 FTP 或者使用 mysql 的管理工具进行 mysql 数据库备份下载,非常方便。

下面是一个php数据库备份的源代码,大家也可以根据自己的需求进行修改。

sql _fetch_array($q1))
{
 $table = $t[0];
 $q2 = mysql_query("show create table `$table`");
 $sql = mysql_fetch_array($q2);
 $mysql .= $sql['Create Table'] . ";\r\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);\r\n";
 } 
} 
$filename = $dbname . date('Ymjgi') . ".sql"; //存放路径,默认存放到项目最外层
$fp = fopen($filename, 'w');
fputs($fp, $mysql);
fclose($fp);
echo " 数据备份 成功";
?>
 

PHP执行Mysql数据库的备份和还原

使用 mysqldump 命令备份

mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。

mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。

mysqldump基本语法:

mysqldump -u username -p password dbname table1 table2 ...-> BackupName.sql
 
  • username为数据库用户名;
  • password为数据库密码
  • dbname参数表示数据库的名称;
  • table1和table2参数表示需要备份的表的名称,为空则整个数据库备份;
  • BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径。通常将数据库被分成一个后缀名为sql的文件;
$exec="D:/ phpstudy /mysql/bin/mysqldump -u".$db_user." -p".$db_pwd." ".$db_name." > ".$name;
exec($exec);
//前面要设置mysql执行文件的路径。
 

注意:这里的-p后面的password不要有空格,否则可能只会生成空的sql文件,后面$name是生成文件路径及名称。

简单的备份数据库就完成了。

还原使用mysqldump命令备份的数据库的语法

mysql -u root -p password dbname < backup.sql
 

参数跟备份时一样,backup.sql是需要还原的数据库文件,文件路径为绝对路径。


后面小编会分享更多运维干货,感兴趣的朋友走一波关注哩~

收藏
分享
海报
0 条评论
168
上一篇:推荐一款超好用的编辑器 下一篇:php学习步骤

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码