码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2020-03-10 11:50:33      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:set   ***   file   number   cells   数据库   comm   数据库的备份   bsp   

我在项目中随着数据库数据变多,以前的MySQL数据库备份方法不行了,就写了简单的PHP执行MySQL数据库备份和还原,利用mysqldump,mysqldump.exe和mysql.exe文件,PHP包的mysql文件夹中自带有,直接调用就好。(mysqldump适合100G以下的数据库备份)

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

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

备份代码

//设置时区

1
2
3
4
5
6
7
8
9
10
11
date_default_timezone_set("Asia/Shanghai");
/*********************************备份数据库start*********数据库大小100G以下*******************/
$db_user="root";//数据库账号
$db_pwd="123456";//数据库密码
$db_name="dbname";//数据库名
$filename=date("Y-m-d")."-".time();
$name="E:/dataBackup/dbname".$filename.".sql";//数据库文件存储路径
$exec="E:/MySQL/bin/mysqldump -u".$db_user." -p".$db_pwd." ".$db_name." > ".$name;
$result=exec($exec);
//前面要设置mysql执行文件的路径。
/*********************************备份数据库end****************************/

还原代码

1
2
3
4
5
6
7
8
9
10
/*********************************还原数据库start******数据库大小100G以下**********************/
$db_user="root";//数据库账号
$db_pwd="123456";//数据库密码
$db_name="dbname";//数据库名
$filename="原来备份的文件名"//不包含.sql
$name="E:/dataBackup/dbname".$filename.".sql";//数据库文件存储路径
$exec="E:/MySQL/bin/mysql -u".$db_user." -p".$db_pwd." ".$db_name." < ".$name;
$result=exec($exec);
//print_r($result);
/*********************************还原数据库end****************************/

要修改的地方有

1
2
3
4
5
db_user
db_pwd
db_name
name:修改为你要保存的相应地址,绝对路径
exec:修改为mysql安装目录,备份是bin下的mysqldump,还原是bin下的mysql

 

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

标签:set   ***   file   number   cells   数据库   comm   数据库的备份   bsp   

原文地址:https://www.cnblogs.com/mengxiangdetiankonghenda/p/12454471.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!