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

2025-05-29 0 102

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46
<?php

// 备份数据库

$host = "localhost";

$user = "root"; //数据库账号

$password = ""; //数据库密码

$dbname = "mysql"; //数据库名称

// 这里的账号、密码、名称都是从页面传过来的

if (!mysql_connect($host, $user, $password)) // 连接mysql数据库

{

echo '数据库连接失败,请核对后再试';

exit;

}

if (!mysql_select_db($dbname)) // 是否存在该数据库

{

echo '不存在数据库:' . $dbname . ',请核对后再试';

exit;

}

mysql_query("set names 'utf8'");

$mysql = "set charset utf8;\\r\\n";

$q1 = mysql_query("show tables");

while ($t = mysql_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基本语法:

?

1
mysqldump -u username -p password dbname table1 table2 ...-> BackupName.sql

  • username为数据库用户名;
  • password为数据库密码
  • dbname参数表示数据库的名称;
  • table1和table2参数表示需要备份的表的名称,为空则整个数据库备份
  • BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径。通常将数据库被分成一个后缀名为sql的文件;
?

1

2

3
$exec="D:/phpstudy/mysql/bin/mysqldump -u".$db_user." -p".$db_pwd." ".$db_name." > ".$name;

exec($exec);

//前面要设置mysql执行文件的路径。

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

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

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

?

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

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对快网idc的支持。如果你想了解更多相关内容请查看下面相关链接

原文链接:http://www.codetc.com/article-275-1.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP后台备份MySQL数据库的源码实例 https://www.kuaiidc.com/93490.html

相关文章

发表评论
暂无评论