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 数据库作为 ...
随机推荐
- linux进程学习笔记
学习了linux下的进程,觉得应该整理一下,忘得差不多了,顺便回顾一下. 学而时习之,不亦说乎~~ 进程笔记 ,什么是进程? The Single UNIX Specification, Versio ...
- 【Lintcode】088.Lowest Common Ancestor
题目: Given the root and two nodes in a Binary Tree. Find the lowest common ancestor(LCA) of the two n ...
- Node.js集成支付宝接口注意事项
目录 签名 发送请求表单 验签 总结 签名 使用node.js自带的加密模块crypto和字符编码模块iconv-lite 根据支付宝接口文档参数格式得到签名之前的字符串beforeSignStr,然 ...
- 洛谷【P4883】mzf的考验
浅谈\(splay\):https://www.cnblogs.com/AKMer/p/9979592.html 浅谈\(fhq\)_\(treap\):https://www.cnblogs.com ...
- CF 949D Curfew——贪心(思路!!!)
题目:http://codeforces.com/contest/949/problem/D 有二分答案的思路. 如果二分了一个答案,首先可知越靠中间的应该大约越容易满足,因为方便把别的房间的人聚集过 ...
- poj1631——树状数组求LIS
题目:http://poj.org/problem?id=1631 求LIS即可,我使用了树状数组. 代码如下: #include<iostream> #include<cstdio ...
- 人工智能实践:linux 和 python 基础简介
linux下的目录 绝对路径:是以根目录(" / ")为起点的完整路径,以你所要到的目录为终点. 相对路径:是你当前的目录(" .")为起点的路径,以你所要到的 ...
- Java 打包成exe安装包
1.在eclipse中导出Runnable JAR file 2.选择主函数所在的类和输出位置后finish: 3.这里选择的打包工具是exe4j,在网上找序列号注册一下,否则在打完后在exe运行时, ...
- CF-845A
A. Chess Tourney time limit per test 1 second memory limit per test 256 megabytes input standard inp ...
- FZU2030 括号问题(dp)
Problem 2030 括号问题 Accept: 398 Submit: 753Time Limit: 1000 mSec Memory Limit : 32768 KB Proble ...