Reparer MySQL: Løsning på 'root'@'localhost' Adgangsproblemer og Databasetab

Hvordan kan MySQL repareres, når adgang nægtes for 'root'@'localhost', og alle databaser undtagen 'information_schema' er forsvundet? Vil en geninstallation via MacPorts medføre tab af databasen 'game_data'?

MySQL kan repareres ved at stoppe tjenesten, starte i sikker tilstand, opdatere root-adgangskoden og genstarte tjenesten; en geninstallation via MacPorts vil typisk ikke slette databasen 'game_data', men backup anbefales.

Hvordan kan MySQL repareres, når adgang nægtes for 'root'@'localhost', og alle databaser undtagen 'information_schema' er forsvundet? Vil en geninstallation via MacPorts medføre tab af databasen 'game_data'?

Hvis du oplever problemer med MySQL, hvor adgang nægtes for 'root'@'localhost', og alle databaser undtagen 'information_schema' er forsvundet, kan du følge disse trin for at forsøge at reparere det:

  1. Stop MySQL-tjenesten:
    sudo /opt/local/bin/mysql.server stop
  2. Start MySQL i sikker tilstand:

    Dette gør det muligt at omgå adgangskontrol og ændre root-adgangskoden.

    sudo /opt/local/lib/mysql56/bin/mysqld_safe --skip-grant-tables &
  3. Log ind på MySQL uden adgangskode:
    mysql -u root
  4. Opdater root-adgangskoden:
    UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
    FLUSH PRIVILEGES;
  5. Genstart MySQL-tjenesten:
    sudo /opt/local/bin/mysql.server restart
  6. Log ind med den nye adgangskode:
    mysql -u root -p

Hvis ovenstående trin ikke løser problemet, kan en geninstallation af MySQL via MacPorts være nødvendig. Her er nogle overvejelser vedrørende geninstallation og tab af databasen 'game_data':

  • Backup af databaser:

    Før du geninstallerer MySQL, skal du tage en backup af dine databaser, hvis det er muligt. Brug følgende kommando:

    mysqldump -u root -p --all-databases > all_databases_backup.sql
  • Geninstallation af MySQL:

    Følg disse trin for at geninstallere MySQL via MacPorts:

    sudo port uninstall mysql56
    sudo port install mysql56
  • Gendan databaser:

    Efter geninstallationen kan du gendanne dine databaser fra backup:

    mysql -u root -p < all_databases_backup.sql

Bemærk, at en geninstallation af MySQL typisk ikke vil slette dine datafiler, men det er altid en god praksis at tage en backup for at undgå tab af data.