thinkphp5实现mysql数据库还原
数据库还原其实就是从.sql文件中读取一行一行的命令,然后执行
需要配置数据库文件database.php,数据库名,主机名,用户名,密码这里就不说了,这里说的要配置数据库连接参数
'params' => [
//开启客户端缓冲区
'MYSQL_ATTR_USE_BUFFERED_QUERY'=>true,
],
如果数据库文件较大,要设置php.ini文件,memory_limit= 128M;,这里可以尽量调大一点,否则会报错提示分配的内存存储空间不够用了
public function restore(){
$filename="backsql.sql";
if (file_exists($filename)) {
$sql_value = "";
$cg = 0;
$sb = 0;
$sqls = file($filename);
foreach ($sqls as $sql) {
$sql_value .= $sql;
}
$a = explode(";\r\n", $sql_value); //根据";\r\n"条件对数据库中分条执行
$total = count($a) - 1;
for ($i = 0; $i < $total; $i++) {
//执行命令
//halt($a[$i]);
if (Db::query($a[$i])!==false) {
$cg += 1;
} else {
$sb += 1;
$sb_command[$sb] = $a[$i];
}
}
echo "数据库还原成功,共处理 $total 条命令,成功 $cg 条,失败 $sb 条";
//显示错误信息
if ($sb > 0) {
echo "<hr><br><br>失败命令如下:<br>";
for ($ii = 1; $ii <= $sb; $ii++) {
echo "<p><b>第 " . $ii . " 条命令(内容如下):</b><br>" . $sb_command[$ii] . "</p><br>";
}
}
}else{
echo "MySQL备份文件不存在,请检查文件路径是否正确!";
}
}
thinkphp5实现mysql数据库还原的更多相关文章
- 黄聪:Mysql数据库还原备份提示MySQL server has gone away 的解决方法(备份文件数据过大)
使用mysql做数据库还原的时候,由于有些数据很大,会出现这样的错误:The MySQL Server returned this Error:MySQL Error Nr. MySQL server ...
- MySQL数据库还原:路径必须用正斜杠?
也是术业不精,其实之前也用命令行还原过几次MySQL数据库,但总记不清语法.这不,今天想把另一台电脑上备份的数据库还原过来,结果不停报错,如下图所示: 后来才发现,因为偷懒直接复制的路径名里,用的全是 ...
- CentOS 6.5系统中mysql数据库还原后出现无法读表
图形化工具还原提示如下: 命令行输入 mysql> use netmanage; Database changed mysql> show tables; ERROR 1018 (H ...
- mysql数据库还原出错ERROR:Unknown command ‘\\’解决手记
使用mysql命令行客户端,使用source导入备份文件,但导入中出错, ERROR: Unknown command ‘\\’. ERROR: Unknown command ‘\”. ERROR: ...
- mysql 数据库还原出错ERROR:Unknown command '\' mysql中断
其实造成这个问题的原因还是由于编码的问题,网站数据库设置的是gbk 的,mysql默认是gbk:但是在导出数据的时候导出了utf8的sql文件,不管我如何重新导入,在连接数据库后使用set names ...
- thinkphp5实现mysql数据库备份
其实备份数据库说白了就是向一个.sql的文档中写入一条一条的sql命令 public function back() { $to_file_name="backsql.sql"; ...
- 如何用SQL语句实现Mysql数据库的备份与还原
以前一直做android客户端的项目,根本没有开发asp.net mvc的开发,现阶段做了一个模块,参数设置,以及数据库的备份与还原.其需求如下: 参数设置 本项参数设置为对自动数据备份进行设置,管理 ...
- 【摘】Mysql备份还原数据库之mysqldump实例及参数详细说明
原文http://www.cnblogs.com/xuejie/archive/2013/01/11/2856911.html 我们在运营项目的过程中肯定会遇到备份数据库,还原数据库的情况,我们一 ...
- 快速备份和还原 MySQL 数据库的另一种方法
一直使用 SQL Server 作为公司产品的数据库来存储系统数据,所以备份还原一直都不是问题,因为 SQL Server 的备份还原非常迅速和易用.但今年公司改变策略,使用起 MySQL 数据库作为 ...
随机推荐
- oops信息的分析【转】
本文转载自:https://blog.csdn.net/zhangchiytu/article/details/8303172 oops是英语口语"糟糕"的意思,当LINUX 内核 ...
- Spring Boot2.0之整合事物管理
首先Spring 事务分类 1.声明事务 原理:基于编程事务的 2.编程事务 指定范围 扫包去解决 3.事务原理:AOP技术 通过环绕通知进行了拦截 使用Spring 事务注意事项: 不要tr ...
- adaptiveThreshold自适应二值化源码分析
自适应二值化介绍: 二值化算法是用输入像素的值I与一个值C来比较,根据比较结果确定输出值. 自适应二值化的每一个像素的比较值C都不同,比较值C由这个像素为中心的一个块范围计算在减去差值delta得到. ...
- python处理txt文件的一种情况
在txt文本中,以换行符作为标记分段处理txt文件中的内容的方法: with open(path, 'r', encoding='utf-8') as f: for line in f: if lin ...
- linux 下errno各个值的意义(转) errno.h
strerror(errno):获取errno对应的错误 查看错误代码errno是调试程序的一个重要方法.当linux C api函数发生异常时,一般会将errno变量(需include errno. ...
- python json ajax django四星聚会
什么是json: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programm ...
- HTML特殊字符的html、js、css写法汇总 (转)
⇠ 箭头类 符号 UNICODE 符号 UNICODE HTML JS CSS HTML JS CSS ⇠ ⇠ \u21E0 \21E0 ⇢ ⇢ \u21E2 \ ...
- Nuget:RQCode
ylbtech-Nuget:QRCode 1.返回顶部 1. https://www.nuget.org/packages?q=qrcode 2. 2.qrcode.js返回顶部 1. https:/ ...
- Balloon Comes! hdu(小数位数处理)
Balloon Comes! Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): A ...
- springboot集成报错,想要集成tk.mybatis报错,反射方法异常
在添加注释 @MapperScan("com.leyou.item.mapper")的时候,如果不小心就会导包倒错应该导成 import tk.mybatis.spring.ann ...