10

When im trying to insert a record to the table using phpmyadmin it gives me

#1036 - Table 'sch_portfolio' is read only 

I saw in some articles they said that this could happen if the owner of this table is somthing other than mysql. so i set the owner as mysql and restart the server. Still im getting the same error. any help would be really appreciated. Thanks in advance

drwxrwxrwx 2 mysql mysql     4096 Jul 13 15:27 schooltap
4

6 回答 6

33

确保您没有在 my.cnf 中设置 innodb_force_recovery > 0

于 2016-03-02T07:49:37.560 回答
14
于 2013-07-13T10:44:27.587 回答
4

据我说,这是因为 storage engine 。如果你select storage engine as MRG_MYISAM这样做只会让你的表readable,你不能插入数据。所以,select myisam as storage engine..

于 2016-04-08T10:52:31.747 回答
2

我有一个类似的问题,我的解决方案是将表文件的所有者/组更改为 mysql。你可以做两个选择

1

首先你必须进入你的服务器并获得特权

sudo su

然后我去了隐藏文件夹mysql做:

cd /var/lib/mysql/

然后我运行了这个命令:

chown -R mysql:mysql *

这将解决你的问题

然后要查看它是否有效,您必须重新启动mysql

service mysql restart

2

或者您可以简单地转到 phpmyadmin,然后到您的数据库选择所有表 ,然后您必须选择选项修复在此处输入图像描述 (对不起,我在意大利语中有 phpmyadmin)您也可以在 bash 中执行此操作,

这会奏效!如果没有选项工作尝试重新安装mysql

于 2019-06-11T09:05:45.480 回答
0

我怀疑在我的情况下,这是由隐藏的反恶意软件防病毒 Bytefence 引起的(可能它与其他东西捆绑在一起)。卸载此防病毒软件后问题消失了。

于 2017-05-15T14:13:51.947 回答
0

您可以更改存储引擎,因此您不必替换设置。如果将其设置为InnoDB ,则问题将得到解决。(可以在 phpmyadmin 的操作选项卡中更改它)

于 2019-03-15T11:01:37.417 回答