mysql中Table is read only的解决

作者:阿川 发布时间:June 14, 2012 分类:网站应用

一客户的mysql数据库600多M.从windows换成linux.导出再导入太麻烦了.于是直接复制物理文件到linux.先创建好linux下面的mysql数据库.再把文件wget过来覆盖掉之后.问题出现了,
在mysql中,Select之类的都正常,但在phpmyadmin优化数据库的时候中提示:Table 'jieqi_xxxx' is read only,给数据库目录的所属用户和组改为mysql,并加上777的权限,还是一样提示.程序中使用root连接,也是一样的提示....百般SM加鞭策无果.最后想到用myisamchk来检查一下,也提示Table is read only.于是满世界找答案啊...终于功夫不负哥,还真找到了.以下是原文:

I just encountered a similar problem on one of my production servers
this morning. (I'm still investigating the cause.) After doing a
quick bit of Google-searching, this solved my problem:
 
mysqladmin -u <username> -p flush-tables
 
By the way: All directories in /var/lib/mysql should have 700
permissions (owned my the mysql user) and everything within those
directories should be 660 (owned by the mysql user and mysql group).
cd /usr/local/mysql/bin

执行如下mysqladmin

./mysqladmin -u <username> -p flush-tables

运行flush-tables后,read only问题解决:)

通过伪静态解决中文乱码

作者:阿川 发布时间:June 11, 2012 分类:编程开发

当在网站使用伪静态的时候.显示中文出现乱码.不妨在你的伪静态页面中加上[QSA,NU,PT,L]试试
比如将

RewriteRule ^(.*)$ index.php?$1 [L]

改成
RewriteRule ^(.*)$ index.php?$1 [QSA,NU,PT,L]

试试效果.
主要是NU这个,加上去就不会乱码,但直接显示的中文.