sql >> Database teknologi >  >> RDS >> Mysql

lower_case_table_names=1 på Ubuntu 18.04 lader ikke mysql starte

For at få dette til at fungere i MySQL 8.0 og linux skal du følge trinene nedenfor

  1. Sikkerhedskopier mysql-skemaet, før du udfører følgende trin ved hjælp af

    mysqldump -h localhost -u root -p mysql> /home/brugernavn/dumps/mysqldump.sql

og stop derefter mysql med at bruge

sudo service mysql stop
  1. flyt eller fjern mappen /var/lib/mysql. Dette vil slette alle databaser!!!!

    mv /var/lib/mysql /tmp/mysql
    
  2. Opret et nyt /var/lib/mysql bibliotek og gør mysql til bruger som ejer

    mkdir /var/lib/mysql
    chown -R mysql:mysql /var/lib/mysql
    chmod 750 /var/lib/mysql
    
  3. rediger /etc/mysql/mysql.conf.d/mysqld.cnf og tilføj følgende linje efter

    [mysqld]
    
    lower_case_table_names=1
    
  4. Initialiser mysql ved hjælp af følgende

    mysqld --defaults-file=/etc/mysql/my.cnf --initialize lower_case_table_names=1 --user=mysql --console
    

Skift standardfil med den faktiske placering af din standardfil. Mere info om mysql initialisering her:https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization-mysqld.html

  1. (Valgfrit) Gentag

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

hvis ejeren af ​​filerne i /var/lib/mysql ikke er mysql

  1. Start mysql ved hjælp af

    sudo service mysql start
    
  2. Hvis alt fungerede korrekt, skal du åbne mysql ved hjælp af

    mysql -u root -p
    

og ved at køre denne forespørgsel

SHOW VARIABLES where Variable_name like 'lower%';

du får

'lower_case_table_names', '1'
  1. Gendan mysql-skemaet ved hjælp af det dump, der blev oprettet i trin 0.

  2. Udfør mysql_upgrade for at oprette sys-skemaet



  1. MySQL:Få et rækkenummer (rangering) for en specifik række

  2. Aktiver Entity Framework 6 for MySql (C#) i WinForms af Microsoft Visual Studio 2013

  3. Docker venter på, at postgresql kører

  4. Sådan fungerer UNHEX()-funktionen i MySQL