数据库中有哪两种数据库备份
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,小编给大家分享一下数据库中有哪两种数据库备份,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!数据库备份的两种方法是:1、使用
千家信息网最后更新 2024年11月11日数据库中有哪两种数据库备份
小编给大家分享一下数据库中有哪两种数据库备份,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
数据库备份的两种方法是:1、使用mysqldump结合exec函数进行数据库备份;2、使用【php+mysql+header】函数进行数据库备份。
数据库备份是必要的一般都是使用mysqldump进行备份,我这边写了两种备份方法可以参考一下。
第一种:使用mysqldump结合exec函数进行数据库备份操作。
代码如下
/** * Subject: php-mysql 实现数据库备份. * User: luokakale * Date: 2018/11/9 * Time: 13:31 */header('Content-Type:text/html;charset=utf8');ini_set("max_execution_time", "0");//代码运行时间不限制 防止备份失败ini_set('memory_limit', '128M');//设置内存 根据需求可以修改date_default_timezone_set("PRC");//创建需要保存sql文件的文件夹$path = 'D:\SQL\databse_backup';//定义数据库配置$user = ''; //数据库账户$pwd = ''; //数据库密码$dbname = ''; //数据库名称//备份数据库命令地址文件$sqladdress = 'D:\phpStudy\MySQL\bin\mysqldump.exe';//备份指定地址$time = time();$path = 'D:\SQL\databse_backup'.'\\'.date("Ymd",$time);if(!file_exists($path)){ mkdir($path,0777,true);}//备份的数据库文件名$sqlFile = $dbname."_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%.sql";//判断是否存在密码$password = $pwd== ''?'':' -p'.$pwd;//拼接备份命令$order = $sqladdress.' --opt -u'.$user.$password.' '.$dbname.' >'.$path.'\\'.$sqlFile;//执行命令exec($order);
我使用的是集成的phpstudy里面的mysql下面的mysqldump.exe来备份,备份的数据库名字写法是 数据库名字+年月日时. 上面代码中我对数据库密码进行了判断,我这边有些数据库是不需要密码的。最后使用exec执行命令。
第二种:使用php+mysql+header函数进行数据库备份和下载操作。
代码如下:
header('Content-Type:text/html;charset=utf8');ini_set("max_execution_time", "0");//代码运行时间不限制 防止备份失败ini_set('memory_limit', '1024M');//设置内存 根据需求可以修改date_default_timezone_set("PRC");header("Content-Type:text/html;charset=utf-8");$host="";$user="";//账户$password="";//密码$dbname="";//数据库名称$con = mysqli_connect("$host","$user","$password","$dbname");mysqli_select_db($con,$dbname);$mysql= "set charset utf8;\r\n";#for mysql>=5.0mysqli_query($con,"SET NAMES 'UTF8'");$q1=mysqli_query($con,"show tables");while($t=mysqli_fetch_array($q1)){ $table=$t[0]; $q2=mysqli_query($con,"show create table `$table`"); $sql=mysqli_fetch_array($q2); $mysql.=$sql['Create Table'].";\r\n\r\n";#DDL $q3=mysqli_query($con,"select * from `$table`"); while($data=mysqli_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"; unset($data); } $mysql.="\r\n"; unset($t);}mysqli_close($con);$filename=date('Ymj').".sql"; //文件名为当天的日期$time = time();$path = 'D:\SQL\databse_backup'.'\\'.date("Ymd",$time).'\\';// 检查目录是否存在if(!is_dir($path)){ // 新建目录 mkdir($path, 0777, true);}$file_name = $path.$filename;$fp = fopen($file_name,'w');fputs($fp,$mysql);fclose($fp);$fp=fopen($file_name,"r");$file_size=filesize($file_name);header("Content-type: application/octet-stream");header("Accept-Ranges: bytes");header("Accept-Length: ".$file_size);header("Content-Disposition: attachment; filename=".$filename);//这里一定要使用echo 进行输出,否则下载的文家是空白的echo fread($fp,$file_size);fclose($fp);exit;
个人建议用第一种,第二种太消耗内存了。
第一种可以做成定时备份,windows下可以用定时任务。
以上是"数据库中有哪两种数据库备份"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
数据
数据库
备份
代码
密码
文件
函数
命令
内存
篇文章
内容
名字
名称
地址
方法
时间
目录
账户
需求
参考
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
居民网络安全意识调查
数据库日期比较
英雄联盟服务器省份分布
苏州大数据软件开发要多少钱
数据库实验三数据控制安全性
华为服务器怎么进管理口
选择框 数据库结合
深圳服务器租用
最普通的软件开发需要多少钱
linux服务器节点
行行造价数据库系统
网络安全新纪元龙头股
耀魄宝互联网科技
excel分析数据软件开发
并行数据库技术
石油网络安全股票有哪些
数据库统计成绩表的平均分
我的世界服务器风云城服务器号码
lol服务器安装
铜陵市网络安全应急技术
霓虹深渊手机版服务器繁忙
我的世界服务器禁止物品怎么用
数据库是不是个人可以开发
小度网络安全简笔画手抄报
自动备份数据库执行错误
蒲公英搭建web服务器
eda软件开发人员要求
下列不属于网络安全事件的事
数据字典和数据库物理模型的区别
高新区服务器上门回收公司