Om dit te laten werken in MySQL 8.0 en linux volgt u de onderstaande stappen
-
Maak een back-up van het mysql-schema voordat u de volgende stappen uitvoert met
mysqldump -h localhost -u root -p mysql> /home/gebruikersnaam/dumps/mysqldump.sql
en stop dan met het gebruik van mysql
sudo service mysql stop
-
verplaats of verwijder de map /var/lib/mysql. Hiermee worden alle databases verwijderd!!!!
mv /var/lib/mysql /tmp/mysql
-
Maak een nieuwe /var/lib/mysql-map en maak mysql-gebruiker als eigenaar
mkdir /var/lib/mysql chown -R mysql:mysql /var/lib/mysql chmod 750 /var/lib/mysql
-
bewerk /etc/mysql/mysql.conf.d/mysqld.cnf en voeg de volgende regel toe na
[mysqld] lower_case_table_names=1
-
Initialiseer mysql met behulp van het volgende
mysqld --defaults-file=/etc/mysql/my.cnf --initialize lower_case_table_names=1 --user=mysql --console
Wijzig het standaardbestand met de werkelijke locatie van uw standaardbestand. Meer info over mysql-initialisatie hier:https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization-mysqld.html
-
(Optioneel) Herhaal
chown -R mysql:mysql /var/lib/mysql chmod 750 /var/lib/mysql
als de eigenaar van de bestanden in /var/lib/mysql niet mysql is
-
Start mysql met
sudo service mysql start
-
Als alles correct werkte, open dan mysql met
mysql -u root -p
en door deze zoekopdracht uit te voeren
SHOW VARIABLES where Variable_name like 'lower%';
je krijgt
'lower_case_table_names', '1'
-
Herstel mysql-schema met behulp van de dump gemaakt in stap 0.
-
Voer mysql_upgrade uit om het sys-schema te maken