数据库的备份与恢复是个常见的问题,但是不同备份工具备份出来的.sql文件内容与格式不尽相同。
对于phpMyAdmin导出的sql文件,似乎用phpMyAdmin恢复比较容易。但我用其他一些MySQL数据库管理工具经常无法恢复成功(如使用Navicat for MySQL、HeidiSQL运行转储的sql文件,没有任何效果)。今天我试了下用MySQL命令行恢复phpMyAdmin导出的sql文件,感觉比较好使,记录一下。
恢复之前先手动创建一个空的数据库,编码和排序方式按需要选择。比如dedecms和WordPress默认的都是utf8_general_ci。
之后运行MySQL命令行,输入密码开始使用。
之后依次输入命令(按需要修改):
use databasename; set names utf8; source d:\desktop\simple.sql;
如下:
记得输入分号,否则第二个命令会跑偏。
输入第三条之后就开始恢复了,等到执行完毕就ok了。
其实前两条命令,有些工具导出的sql文件里已经有了,有的没有(phpMyAdmin导出的就没有,这应该也是直接运行它备份的sql文件时无法恢复数据的原因)。所以有些工具备份的sql文件可能比较容易恢复,有的就要手动输入命令了。
使用MySQL命令行恢复phpMyAdmin导出的sql文件
由于我装的wampserver环境没有带phpMyAdmin,所以我自己撞了下,记录下过程。
1.到官网或其他下载站下载phpMyAdmin的安装文件。
2.解压后,将解压出来的文件夹改名为“phpmyadmin”,以便访问。
3.将phpmyadmin文件夹放到web环境里,如我在本地,就放到127.0.0.1里。
4.将phpmyadmin文件夹里的config.sample.inc.php 更名为 config.inc.php。
5.编辑并保存config.inc.php:
修改 $cfg['Servers'][$i]['controluser'] 把前面的 //去掉,在后面写上数据库名字 如 'root' $cfg['Servers'][$i]['controlpass'] 把前面的// 去掉,在后面写上数据库密码,如'123' 修改$cfg['blowfish_secret'] = '' 在后面'' 里面随便填上几个数字 '456'
做完之后,在浏览器中访问phpMyAdmin就OK了~
ps:本文是数据库相关,可巧的是我刚才在数据库里执行sql语句替换东西替换错了←_←
我先写了这篇文章,然后数据库替换出错了,又用今天早上的备份恢复了一下,所以这篇文章是第二次写的了→_→
安装phpMyAdmin
dedecms的用户信息储存在dede_admin表(视具体情况,表前缀可能不同)中。用户名是明文的,密码是MD5值。重点是这个md5值。
首先打开MD5加密工具,选择加密模式为32位(小)。这个“小”代表生成的MD5值是小写。因为 dedecms在这里区分大小写,所以我们必须选择小写。
输入密码并转换,我们就得到了32位的MD5值。但是数据库里只需要20位的值,我们需要去掉前5位、后7位的字符,将中间部分留下,之后去数据库中修改即可。