За да накарате това да работи в MySQL 8.0 и linux, следвайте стъпките по-долу
-
Архивирайте mysql схемата, преди да изпълните следните стъпки с помощта на
mysqldump -h localhost -u root -p mysql> /home/username/dumps/mysqldump.sql
и след това спрете mysql да използва
sudo service mysql stop
-
преместете или премахнете директорията /var/lib/mysql. Това ще изтрие всички бази данни!!!!
mv /var/lib/mysql /tmp/mysql
-
Създайте нова директория /var/lib/mysql и направете потребител на mysql като собственик
mkdir /var/lib/mysql chown -R mysql:mysql /var/lib/mysql chmod 750 /var/lib/mysql
-
редактирайте /etc/mysql/mysql.conf.d/mysqld.cnf и добавете следния ред след
[mysqld] lower_case_table_names=1
-
Инициализирайте mysql, като използвате следното
mysqld --defaults-file=/etc/mysql/my.cnf --initialize lower_case_table_names=1 --user=mysql --console
Променете файла по подразбиране с действителното местоположение на вашия файл по подразбиране. повече информация за инициализацията на mysql тук:https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization-mysqld.html
-
(По избор) Повторете
chown -R mysql:mysql /var/lib/mysql chmod 750 /var/lib/mysql
ако собственикът на файловете в /var/lib/mysql не е mysql
-
Стартирайте mysql с
sudo service mysql start
-
Ако всичко работи правилно, отворете mysql с
mysql -u root -p
и като изпълните тази заявка
SHOW VARIABLES where Variable_name like 'lower%';
ще получите
'lower_case_table_names', '1'
-
Възстановете mysql схемата, като използвате дъмп, създаден в стъпка 0.
-
Изпълнете mysql_upgrade, за да създадете системната схема