sql >> Databasteknik >  >> RDS >> Mysql

Konstigt skrivskyddat MySQL-fel

Som jag ser det finns det två breda skäl till varför din databas ställs in på skrivskyddad:

1) MySQL ställer in sig själv som skrivskyddad

Jag är inte säker på vad som kan få MySQL att gå skrivskyddat, kanske diskproblem eller korruption av databasen? I vilket fall som helst skulle jag förvänta mig att något skulle dyka upp i loggarna, så kontrollera MySQL (och system)-loggarna.

2) En klient ställer in databasen skrivskyddad

Klienter som ansluter till MySQL kan ställa in databasen skrivskyddad med kommandot:

SET GLOBAL read_only = ON;

Men för att göra detta måste användaren ha SUPER privilegier. Denna behörighet bör inte behövas för webbplatser, applikationer etc som använder MySQL - behåll den endast för ett administratörskonto som du använder för att administrera databasen.

Lås ner de behörigheter som varje användare har så att de bara har behörighet att göra de saker som de behöver på de databaser/tabeller som är tillämpliga. Om du använder några färdiga applikationer bör de levereras med instruktioner som beskriver vilka behörigheter som krävs (t.ex. SELECT, INSERT, DELETE, UPDATE ).



  1. Dela upp strängen i rader Oracle SQL

  2. Subtrahera timmar från funktionen now().

  3. MySQL och PDO:Kan PDO::lastInsertId teoretiskt misslyckas?

  4. Datum för bokningssystem