纵有疾风起
人生不言弃

MySql error #1036 Table is read only解决办法

mysql 1036 错误码解决 Fatal error: mysql error: [1036: Table ‘whos_online’ is read only]   

当出现以上mysql 1036错误码通常出现的时机可能会是您曾经移动mysql数据库的文件而照成的结果,您可以使用以下方法解決mysql 1036 数据库不能够读写的

举例:  

1.针对你的数据库检查权限及使用 (以数据库 discuz示范)

[root@localhost ~]# cd /var/lib/mysql/discuz

[root@localhost ~]# ls 

-r–r—– 1 root root   8806 12月 10  2007 whos_online.frm  

-r–r—– 1 root root     0 12月 10  2007 whos_online.MYD  

-r–r—– 1 root root   1024 12月 10  2007 whos_online.MYI  

 

2.將*.frm、*.MYD、*.MYI 设定权限660及使用者mysql   

  

[root@localhost discuz]# chmod   777  *.*    

[root@localhost discuz]# chown  mysql.mysql  *.*  

[root@localhost discuz]# ls 

下面我来给大家介绍在使用mysql数据库时碰到MySql error 1036 Table is read only错误错误的解决技巧,希望文章对大家有帮助.

这次网站搬家采用直接打包mysql数据库和网页文件的形式进行迁移,上传好mysql data目录里面的网站数据库至VPS上mysql存放数据库的目录里面,解压就行。我的VPS存放数据库的路径是 /usr/local/mysql/var。

上传好网站数据,解压,配置好数据库链接参数就行,网站就能正常连接上了,我本以为这已经是顺利迁移完成了,但后来操作的时候,发现只能读取数据库的内容,不能更改写入任何信息,提示#1036 – Table ‘* ‘ is read only (*号为任意表),也就是说表只有只读属性。

通过SSH,给数据库文件777权限,dedeadmin是我的数据库文件夹

chmod -R 0777 /usr/local/mysql/var/dedeadmin/

给数据库目录的所属用户和组改为MySQL:chown -R mysql:mysql dedeadmin

但是这样还不能更改数据库,首先,找到mysqladmin所在位置,一般都在mysql/bin下面,我的在/usr/local/mysql/bin 里面,还需要运行以下命令:

./mysqladmin -u root -p flush-tables

之后输入root账号的密码,马上就好了,没有任何任何提示,然后测试一下,能正常读写,搬家也就顺利.

中解决办法

1. 找到数据库文件放置的目录,如/usr/local/mysql/var/xx

2. 更改此数据库下所有文件的所有权:chown mysql.mysql *.*

3. 关闭mysql:killall mysqld

4. 开启mysql:进入mysql的bin目录,运行 ./mysqld_safe –user=mysql &

前几天我把一个系统挂到服务器上,数据库出现了如下的错误提示:

#1036 – Table ‘ ‘ is read only 

我把网站传到服务器上,把备份的数据库文件放到/usr/local/mysql/var下面之后,访问某个表时出现权限的问题,后来把数据库的权限改为777,把数据库目录的所属用户和组改为MySQL,错误依然存在。我采用了一下的方法解决了问题。

首先,找到mysqladmin所在位置,一般都在mysql/bin下面,我的在/usr/local/mysql/bin下面,步骤如下:

#cd   /usr/local/mysql/bin

#./mysqladmin -u root -p flush-tables

然后输入你的数据库密码,没有任何的错误提示,说明你成功了,如果是可如下操作,Lnux下MySQL出现问题,提示mysql error #1036 – Table ‘xxxx’ is read only

解决方法:

1. 找到数据库文件放置的目录,如/usr/local/mysql/var/xx

2. 更改此数据库下所有文件的所有权:chown mysql.mysql *.*

3. 关闭mysql:killall mysqld

4. 开启mysql:进入mysql的bin目录,运行 ./mysqld_safe –user=mysql &

未经允许不得转载:起风网 » MySql error #1036 Table is read only解决办法
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录