• Register
0 votes

Problem :

I am facing a strange MySQL error may be it is related to the database's read-only flag. The Web application that is using the MySQL is running on Debian 7.9. It was running well but suddenly started attempting to access the application powered website and also started producing the below error message on the blank webpage:

Error: 500 - SQLSTATE[HY000]: General error: 1290 The MySQL server is running with the --read-only option so it cannot execute this statement

6 5 3
6,930 points

1 Answer

0 votes

Solution :

There are two broad reasons behind your database is being set to read only as follows:

1) MySQL setting itself to read only

I am not very sure what is causing the MySQL to go read only may be the disk issues or corruption of database In any case something will appear in the logs, so please check the MySQL and system logs very carefully.

2) Client setting the database to read only

The clients connecting to MySQL can also set the database read only using the following command:

SET GLOBAL read_only = ON;

But to do this the user needs to have the SUPER user privileges. This permission is not needed for websites or applications those are using MySQL, They will keep it only for an admin account that it is used only for administering the database.

So one way is to lock down the permissions that each user has so they will only have permissions for doing the things that they need on the databases that are applicable to them. For using some out-of-the-box application they must come with instructions detailing what permissions are required e.g. SELECT, INSERT, DELETE, UPDATE.

9 7 4
38,600 points

Related questions

0 votes
1 answer 121 views
Problem : I get mysql error help the mysql server is running with the --secure-file-priv option so it cannot execute this statement
asked Nov 7, 2019 peterlaw 6.9k points
0 votes
1 answer 54 views
Problem : I am very new to the Linux but want to set up my MySQL databases on the Amazon ec2 instance. I have followed some directions I found about resetting a user login pass by using a --skip-grant-tables option of the MySQL. Now I want to add my user ... HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement How can I turn above option off?
asked Jan 30 jwilliam 3.9k points
0 votes
2 answers 131 views
Problem : I am trying to load my data into mysql database using below code LOAD DATA LOCAL INFILE A.txt INTO DB LINES TERMINATED BY '|'; A topic of my question is related to response I get. I understand a local data offloading is off by default and I have to enable it using following command local-infile=1 but I do not know how to execute this command.
asked Jan 28 jwilliam 3.9k points
0 votes
1 answer 40 views
Problem: I am interested in learning MySQL. Currently I am facing the following error if I tried to add the index to my table using the MySQL Workbench: “Error Code: 2013. Lost connection to MySQL server during query.” I also noticed that above error appears only when I try to run long query. I want to know the away to increase my timeout value?
asked Jul 27 Raphael Pacheco 4.9k points
0 votes
0 answers 10 views
Is there any PHP code that demonstrate on how to query my database and gives me the list using the “select” tag. And when I select any name from the list the form will retrieve the data and allows me to update the information and then update the information when I’m done? Thanks in advance.
asked 2 days ago azriel 530 points