linux/centos mysql中Table is read only的解决办法

一台mysql数据库服务器重启了一下,重启后发现,网页上有个地方显示数据库有个表的状态变成了 read only
Table ‘xxxxx’ is read only

check table 发现状态如此

到数据库目录下检查这个表的三个文件的属性和权限也都正常

repair table 发现毫无效果,仍然显示为read only

这个问题产生的原因不知道,大概是关闭数据库的时候,数据库没有顺利(或者说正常)的关闭这个表。不过解决办法倒是简单
mysqladmin -p flush-tables

输入root密码。回车,就能解决问题

mysql导入frm文件的方法

1,在新的系统上装一个mysql
2,然后在新的MySQL的目录下的data里面建立一个文件夹,文件夹的名字就是数据库的名字 .
3,先把mysql停止掉. 可以用 net stop mysql 来停止mysql,也可以直接进入 管理 – 服务 – 停止mysql
4,然后要恢复数的数据库的frm复制到这个新建的文件夹里面.
5,接着就是把原来那个mysql的data目录下的 ibdata1 文件复制到新的mysql目录下的data目录下覆盖掉原来那个最好把原来那个也备份一下,以防mysql不能启动.其他的文件不要复制,否则可能导致mysql自动不起来,而报 1067 错误。
6,然后启动mysql就可以了的啦!启动可以用net start mysql 来启动mysql就都恢复了。

Mysql 导入数据库乱码解决方法

为了避免字符编码的问题,文件,数据库都是用UTF8来搞定。 在数据量小的时候phpmysql导入数据还是比较稳定的,数据量大了,就不行了。 于是用mysql 的source来搞定。
但是出现了一点小问题,导入的数据全是乱码。 查看了数据库和数据表的字符集设定,都是utf8,没有问题。看来是在命令行导入时对字符集的辨认出现了问题。
解决方法很简单:在执行source …. 之前先执行 set names utf8;   即可。
例:
mysql> set names utf8;
mysql> d:/localhost.sql

在转移主机的时候经常公遇到mysql导入数据库乱码的问题

为了避免字符编码的问题,文件,数据库都是用UTF8来搞定。 在数据量小的时候phpmyadmin导入数据还是比较稳定的,数据量大了,就不行了。 于是用mysql 的source来搞定。

但是出现了一点小问题,导入的数据全是乱码。 查看了数据库和数据表的字符集设定,都是utf8,没有问题。看来是在命令行导入时对字符集的辨认出现了问题。

解决方法很简单:在执行source …. (导入)之前先执行 set names utf8;   即可。

例:

mysql> set names utf8;

mysql> d:/localhost.sql

Linux AS4 安装MySQL5

1. 卸载RedHat上原有的MySql的老版本.本人AS4上是原有了Mysql4.

       1> 用” rpm -qa | grep mysql ” 查看安装了mysql的哪些组件.看清楚有哪些组件名,在第二步卸载中使用.

       2> 用” rpm -evv <组件名> “完全卸载. 其中几个组件说缺少 ***.so.10啥的,就需要用” rpm -e –nodeps <组件名> “强制卸载.到此卸载完毕.

  Continue reading