从2013年5月25日 星期六开始记录:


时间:2013年5月25日 星期六

1.MySQL too many connections

 解决方法:1)重启服务器(当然这不是最好的方法,但确实我是这么干的...)

2)查看我COPY别人的文章



2013年5月29日 星期三

2.MySQL

mysqldump Got error :  145 :  Table '.aaa\bbb' is marked as crashed and should be repaired when using LOCK TABLES

备份数据库的时候出现这个错误,备份不了。  

解决方法:1)修复提示需要修复的表

             进入MySQL Command Line Client

             输入密码,然后进入表所在的数据库,如下

mysql > use aaa;           // 进入aaa数据库

mysql > check tables bbb;  // 对该bbb表进行检测

             然后会显示该表的一些信息,类似以下这样:

+-----------+-------+----------+----------------------------------------------------------+
|   Table   | Op    | Msg_type | Msg_text                                                 |
+-----------+-------+----------+----------------------------------------------------------+
|  aaa.bbb  | check | warning  | Table is marked as crashed                               |
|  aaa.bbb  | check | warning  | 3 clients are using or haven't closed the table properly |
|  aaa.bbb  | check | error    | Checksum for key:  2 doesn't match checksum for records  |
|  aaa.bbb  | check | error    | Corrupt                                                  |
+-----------+-------+----------+----------------------------------------------------------+
4 rows in set (13.75 sec)

             然后执行修复命令,如下:

mysql > repair table bbb;  // 对bbb表执行修复命令

             再次检测一次bbb表:

mysql > check tables bbb;  // 对该bbb表进行检测

              会显示类似下面的信息:

+-----------+-------+----------+----------+
|   Table   | Op    | Msg_type | Msg_text |
+-----------+-------+----------+----------+
|  aaa.bbb  | check | status   | OK       |
+-----------+-------+----------+----------+
1 row in set (1.76 sec)

              说明该表已经恢复了,这回可以继续对数据库进行备份了。

              感谢 果冻的拨壳 的文章助我解决问题。

3.MySQL

mysqldump : Got error : 1017 : Can't find file : 'tblA' (errno:2) when using LOCK TABLES

错误编号:1017
问题分析:服务器非法关机,导致该文件损坏,一般是索引损坏
解决办法:1)
         备份现在的库,再复制现在的库到一个新库,在新库里 delete from (损坏的表假定为A);
         这个操作会生成一个空的索引A.MYI,复制这个MYI文件到坏的库中。
         登陆mysql库,执行repair table A;执行analyze table A;

2)由于我其他的数据库里也有同名同结构的表的 frm 和 MYI 文件 ,于是乎我就把其他数据库中同名同结构的表的 MYI 文件直接COPY 然后 Ctrl + V 到缺文件的那个数据库中了,执行查询,真的直接可以用~(在这里建议大家一定要做好备份啊,前车之鉴啊!)