Para que esto funcione en MySQL 8.0 y Linux, siga los pasos a continuación
-
Haga una copia de seguridad del esquema mysql antes de ejecutar los siguientes pasos usando
mysqldump -h localhost -u raíz -p mysql> /home/nombre de usuario/volcados/mysqldump.sql
y luego deja de usar mysql
sudo service mysql stop
-
mover o eliminar el directorio /var/lib/mysql. ¡Esto eliminará todas las bases de datos!
mv /var/lib/mysql /tmp/mysql
-
Cree un nuevo directorio /var/lib/mysql y haga que el usuario de mysql sea el propietario
mkdir /var/lib/mysql chown -R mysql:mysql /var/lib/mysql chmod 750 /var/lib/mysql
-
edite /etc/mysql/mysql.conf.d/mysqld.cnf y agregue la siguiente línea después de
[mysqld] lower_case_table_names=1
-
Inicialice mysql usando lo siguiente
mysqld --defaults-file=/etc/mysql/my.cnf --initialize lower_case_table_names=1 --user=mysql --console
Cambie el archivo predeterminado con la ubicación real de su archivo predeterminado. Más información sobre la inicialización de mysql aquí:https://dev.mysql.com/doc/refman/8.0/en/inicialización-del-directorio-de-datos-mysqld.html
-
(Opcional) Repetir
chown -R mysql:mysql /var/lib/mysql chmod 750 /var/lib/mysql
si el propietario de los archivos en /var/lib/mysql no es mysql
-
Inicie mysql usando
sudo service mysql start
-
Si todo funcionó correctamente, abra mysql usando
mysql -u root -p
y ejecutando esta consulta
SHOW VARIABLES where Variable_name like 'lower%';
obtendrás
'lower_case_table_names', '1'
-
Restaure el esquema mysql utilizando el volcado creado en el paso 0.
-
Ejecute mysql_upgrade para crear el esquema sys