InnoDB: The innodb_system data file 'ibdata1' must be writable
First, I'm not a backend person.
I had a running instance of mysql on my ubuntu server. I was able to log in, run some basic queries, everything was fine.
I stopped the service and started futzing around trying to get mysql to boot up in --skip-grant-table mode so I could import an older dump file that would then need to be upgraded. I tried various commands such as mysqld --skip-grant-tables
and other all quite likely betraying that I'm not quite sure what I'm doing and the documentation is nearly impossible to locate. I've been trying to follow the instructions here.
Read: Highly irritated at this point.
Now I can't even start the service anymore and I get this series of warnings followed by this series of errors:
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
…
What am I doing wrong, how can I get mysql to boot up again and does anyone know how to get this "safe mode" mysql type thing to boot up because nothing in the mysql docs is working. Working from clean installs of everything.
Ubuntu: 16.04
Mysql: 5.7.19
Solution 1:
You can try this code:
chown -R mysql:mysql /var/lib/mysql
Solution 2:
i have a same problem, and solve this after
edit this file
/etc/apparmor.d/local/usr.sbin.mysqld
and see this link
https://askubuntu.com/questions/758898/mysql-wont-start-after-changing-the-datadir-14-04-mysql-5-7/795710#795710
maybe help you
Solution 3:
When I got the same error, I opened a DOS prompt and go to the MySQL bin\ directory and issue the below command to know what is causing the issue:
..\bin > mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --standalone --console
it showed me errors e.g.
[ERROR] [MY-012611] [InnoDB] Operating system error number 32 in a file operation.
[ERROR] [MY-012615] [InnoDB] The error means that another program is using InnoDB's files. This might be a backup or antivirus software or another.
So the antivirus was locking the files (error may be different in your case), When I ran the above command again, this time mysql started as standalone.
There are few other points to note -
- MySQL will stop when you will close the console. So for running it permanently, mysql should be started as service after fixing the error.
- In windows, several times mysql service show as stopped but it unable to start because still process is in use (don't know why). So restarting the server fix this problem.