For at få dette til at fungere i MySQL 8.0 og linux skal du følge trinene nedenfor
-
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
-
flyt eller fjern mappen /var/lib/mysql. Dette vil slette alle databaser!!!!
mv /var/lib/mysql /tmp/mysql
-
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
-
rediger /etc/mysql/mysql.conf.d/mysqld.cnf og tilføj følgende linje efter
[mysqld] lower_case_table_names=1
-
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
-
(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
-
Start mysql ved hjælp af
sudo service mysql start
-
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'
-
Gendan mysql-skemaet ved hjælp af det dump, der blev oprettet i trin 0.
-
Udfør mysql_upgrade for at oprette sys-skemaet