Назад | Перейти на главную страницу

InnoDB: файл данных innodb_system 'ibdata1' должен быть доступен для записи

Во-первых, я не бэкенд.

У меня был запущенный экземпляр mysql на моем сервере ubuntu. Я смог войти в систему, выполнить несколько простых запросов, все было в порядке.

Я остановил службу и начал терзаться, пытаясь заставить mysql загрузиться в режиме --skip-grant-table, чтобы я мог импортировать старый файл дампа, который затем нужно будет обновить. Я пробовал различные команды, такие как mysqld --skip-grant-tables и другие, вполне вероятно, выдавая, что я не совсем уверен в том, что делаю, и документацию почти невозможно найти. Я пытался следовать инструкциям Вот.

Читайте: Сильно раздражен на этом этапе.

Теперь я даже не могу запустить службу и получаю серию предупреждений, за которой следует серия ошибок:

017-08-04T07:23:17.065571Z 0 [Warning] Can't create test file /var/lib/mysql/hq-lampsvr.lower-test
2017-08-04T07:23:17.065614Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.19) starting as process 12175 ...
2017-08-04T07:23:17.068092Z 0 [Warning] Can't create test file /var/lib/mysql/hq-lampsvr.lower-test
2017-08-04T07:23:17.068122Z 0 [Warning] Can't create test file /var/lib/mysql/hq-lampsvr.lower-test
…
2017-08-04T07:23:17.092298Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
2017-08-04T07:23:17.092320Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
2017-08-04T07:23:17.092325Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
…

Что я делаю не так, как мне снова запустить mysql, и знает ли кто-нибудь, как загрузить этот тип mysql в "безопасном режиме", потому что в документации mysql ничего не работает. Работает с чистой установкой всего.

Ubuntu: 16.04
MySQL: 5.7.19

Вы можете попробовать этот код:

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

у меня такая же проблема, и решите ее после редактирования этого файла /etc/apparmor.d/local/usr.sbin.mysqld и посмотрите эту ссылку

https://askubuntu.com/questions/758898/mysql-wont-start-after-changing-the-datadir-14-04-mysql-5-7/795710#795710

может помочь тебе

Когда у меня возникла такая же ошибка, я открыл приглашение DOS, перешел в каталог MySQL bin \ и ввел следующую команду, чтобы узнать, что вызывает проблему:

.. \ bin> mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --standalone --console

он показал мне ошибки, например

[ОШИБКА] [MY-012611] [InnoDB] Ошибка операционной системы номер 32 в файловой операции.

[ОШИБКА] [MY-012615] [InnoDB] Ошибка означает, что другая программа использует файлы InnoDB. Это может быть резервное копирование, антивирусное программное обеспечение или другое.

Итак, антивирус блокировал файлы (в вашем случае ошибка может быть другой). Когда я снова выполнил указанную выше команду, на этот раз mysql запустился как автономный.

Следует отметить еще несколько моментов -

  • MySQL остановится, когда вы закроете консоль. Поэтому для постоянного запуска mysql следует запускать как службу после исправления ошибки.
  • В Windows несколько раз служба mysql отображается как остановленная, но не может запуститься, потому что процесс все еще используется (не знаю почему). Так что перезапуск сервера решит эту проблему.