数据库中有哪两种数据库备份
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,小编给大家分享一下数据库中有哪两种数据库备份,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!数据库备份的两种方法是:1、使用
千家信息网最后更新 2025年01月22日数据库中有哪两种数据库备份
小编给大家分享一下数据库中有哪两种数据库备份,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
数据库备份的两种方法是: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安全错误
数据库的锁怎样保障安全
西安平台软件开发
2018年新开的服务器
共享服务器测试
厦门软件开发 助听器
网络安全德语课心得体会
云服务器需要配置网络吗
特岗服务器满考研加分吗
数据库技术概论ppt
图片服务器原理
网络安全稿子150字3年级
湖南联通dns服务器大全
中国维护网络安全
蚌埠天亿网络技术有...
数据库语法结构
专科软件开发报哪的学校
华三服务器怎么进启动项
快手软件开发需要什么技术
大数据网络技术
软件开发项目归档基本要求
网络技术期末考试北京大学
上汽软件开发招聘要求
西安平台软件开发
服务器挂网站
数据库安全访问数据库
2020年互联网网络安全峰会
成都企业软件开发哪家可靠
用友软件安装问题数据库
什么事软件开发框架
华为网络安全联盟
服务器端口映射工具