mysql数据库不小心还原了需要按照以下步骤恢复.
①.、先确认MYSQL有没有启用bin日志?,就是看下mysql.ini(my.cnf)里的log-bin=mysql-bin,?可以?自定义一个目录和前缀名,比如/data/log/mylog这样.
这是WINDOWS下的导出,linux也是类似的.
database=数据库名
从最早的日志还始还原
linux下可以很方便的?mysql-bin.000*
可以加参数开始时间和结束时间,就是你执行那条SQL语句的时间
------------------------------------------------
翻译:不能连接到 localhost 上的mysql
分析:这说明"localhost"计算机是存在的,但在这台机器上却没提供MySQL服务.
需要启动这台机器上的MySQL服务,如果机子负载太高没空相应请求也会产生这个错误.
解决:既然没有启动那就去启动这台机子的mysql.如果启动不成功,多数是因为你的my.ini配置的有问题.重新配置其即可.
第二段:Unknown MySQL Server Host 'localhosadst' (11001)
翻译:未知的MySQL服务器 localhosadst
分析:服务器 localhosasdst 不存在.或者根本无法连接
解决:仔细检查自己论坛下面的 ./config.inc.php 找到$dbhost重新设置为正确的mysql 服务器地址.
翻译:用户 roota 访问 localhost 被拒绝(没有允许通过)
分析:造成这个错误一般数据库用户名和密码相对mysql服务器不正确
解决:仔细检查自己论坛下面的 ./config.inc.php 找到$dbuser、$dbpw核实后重新设置保存即可.
翻译:用户 red 在localhost 服务器上没有权限操作数据库newbbs
分析:这个提示和问题三是不同的.那个是在连接数据库的时候就被阻止了,而这个错误是在对数据库进行操作时引起的.比如在select update等等.这个是因为该用户没有操作数据库相应的权力.比如select 这个操作在mysql.user.Select_priv里记录 Y 可以操作N 不可以操作.
解决:如果是自己的独立主机那么更新mysql.user 的相应用户记录,比如这里要更新的用户为red .或者直接修改 ./config.inc.php 为其配置一个具有对数据库操作权限的用户
提示:更新了mysql库中的记录一定要重启mysql服务器才能使更新生效
FLUSH PRIVILEGES;
第五段:No Database Selected
翻译:没有数据库被选择上
分析:产生的原因有两种
config.inc.php 里面$dbname设置的不对.致使数据库根本不存在,所以在 $db-select_db($dbname); 时返回了false
和上面问题四是一样的,数据库用户没有select权限,同样会导致这样的错误.当你发现config.inc.php的设置没有任何问题,但还是提示这个错误,那一定就是这种情况了.
解决:对症下药
打开config.inc.php 找到$dbname核实重新配置并保存
同问题四的解决方法
翻译:不能打开xxx_forums.MYI
问题分析:
这种情况是不能打开 cdb_forums.MYI 造成的,引起这种情况可能的原因有:
①.、服务器非正常关机,数据库所在空间已满,或一些其它未知的原因,对数据库表造成了损坏.
解决方法:
①.、修复数据表
可以使用下面的两种方式修复数据表:(第一种方法仅适合独立主机用户)
①.)使用 myisamchk ,MySQL 自带了专门用户数据表检查和修复的工具 —— myisamchk .更改当前目录到 MySQL/bin 下面,一般情况下只有在这个下面才能运行 myisamchk 命令.常用的修复命令为:myisamchk -r 数据文件目录/数据表名.MYI;
注意:以上两种修复方式在执行前一定要备份数据库.
简单情况下:进入原来mysql安装路径下的data文件夹下,找到相应的库和ibdata1,进行copy,就可回复原来的数据.
复杂情况下:
从另一台机上把MySQL数据库的mysql文件夹拷贝到本地机上,目的是恢复本地机对数据的访问和操作.经过如下几种情况的操作.
在本地重装MySQL(安装目录D:\Program
Files\MySQL\MySQL
Server
卸载后重装MySQL,将D:\Program
卸载后重装MySQL,将mysql\data文件夹里的cf1,last文件夹(这两个是原来MySQL里的数据库)拷贝进D:\Program
for
MySQL,连接成功,数据可以访问操作.
至此,操作终于成功.其实当初在那台机上把数据导出来,而不是现在直接把文件夹mysql复制过来会更容易恢复.但那台机已经重装了系统,也就是说MySQL失效了.