Ошибка MySQL 1036: таблица только для чтения

когда я пытаюсь вставить запись в таблицу с помощью phpMyAdmin это дает мне

#1036 - Table 'sch_portfolio' is read only 

Я видел в некоторых статьях они сказали, что это может произойти, если владелец этой таблицы что-то другое, чем MySQL. поэтому я установил владельца как mysql и перезапустил сервер. Все еще получаю ту же ошибку. любая помощь будет очень признательна. Заранее спасибо

drwxrwxrwx 2 mysql mysql     4096 Jul 13 15:27 schooltap

4 ответов


для этого требуется супер пользователь privs, чаще всего sudo используется для достижения этого.

для смены владельца файлов.

sudo chown -R mysql:mysql /var/lib/mysql

перезагрузите Mysql для изменений

sudo service mysql restart

, который принадлежит sch_portfolio и в какой группе они находятся, должен быть mysql: mysql. вам также нужно перезапустить mysql, чтобы изменения повлияли

также проверьте, что текущий зарегистрированный пользователь получил доступ к обновлению

сервер MySQL работает как user mysql и не как пользователь, с которым я вошел в него. Для того, чтобы получить доступ к файлам, которые имеют только права пользователя, они должны принадлежать так это то, что сервер работает. Убедитесь, что папка и файлы, используемые mysql, принадлежат Пользователю mysql. Эти файлы расположены в


убедитесь, что вы не установили innodb_force_recovery > 0 в мою.cnf


По-моему, это из-за двигателя хранения . Если ты ... --0--> тогда это сделает ваш стол только readable, вы не можете вставить данные. Итак,select myisam as storage engine ..


Я подозреваю, что в моем случае это было вызвано скрытым антивирусом Anti malware antivirus Bytefence (вероятно, он был в комплекте с чем-то другим). Проблема исчезла после удаления этого антивируса.