У меня есть сайт wordpress на сервере с отказавшим HD. Диск перешел в режим только для чтения, и я смог скопировать файлы базы данных mysql. Когда я помещаю эти файлы на другой сервер и открываю сайт, я вижу в журнале веб-сервера массу ошибок, касающихся того, что таблицы доступны только для чтения.
То, что я пробовал, не помогло:
смена владельца на mysql: mysql (в любом случае это уже было)
остановка и запуск mysql
ремонт таблиц -> дал кучу ошибок, таких как
ошибка: таблица ccon.wp_bwwc_btc_addresses доступна только для чтения
Перезагружать всю систему не пробовал. Не уверен, что еще мне попробовать - они все еще доступны только для чтения. Ценю любые предложения, спасибо.
Создал новую базу данных, скопировал таблицу в соответствии с первым ответом здесь: Linux / mysql: безопасно ли копировать файлы mysql db с помощью команды cp из одной базы данных в другую? убедился, что скопированная таблица доступна для записи, скопировал файлы поверх существующих таблиц и больше не доступен для записи.
похоже, что на всей db должен быть установлен флаг ro или что-то в этом роде? Я предполагаю, что одним из решений будет скопировать все таблицы в новую базу данных и отказаться от старой базы данных.
Войдите как root. Убедитесь, что разрешения соответствуют требованиям.
sudo chown -R mysql:mysql /var/lib/mysql
chmod 755 /var/lib/mysql
Подтвердите права пользователя (из командной строки mysql):
select * from information_schema.user_privileges where grantee like "'user'%";
И последнее, но не менее важное: проверьте статус SELinux и временно отключите его, если он включен:
cat /selinux/enforce
1
echo 0 > /selinux/enforce
Перезагрузите MySQL:
sudo service mysql restart
Чтобы сделать selinux навсегда отключенным, установите для переменной SELINUX в файле / etc / selinux / config значение «disable».