Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mysql Error:The user specified as a definer ('mysql.infoschema'@'localhost') does not exist' when trying to dump tablespaces

Tags:

mysql

After I upgraded MySQL 5.7 to MySQL 8.0, I started MySQL again and I got an error:The user specified as a definer ('mysql.infoschema'@'localhost') does not exist' when trying to dump tablespaces. I don't understand why this problem occurs. And I want to know how to solve it

like image 486
stackzhao Avatar asked Apr 24 '18 03:04

stackzhao


2 Answers

I had the same error when I accidentally downgraded my MySQL version from 8 to 5.7. At the first start the older version broke something so that version 8 was showing the error above. In my case I had to enter the docker container where MySQL was running first

docker exec -it mysql bash

Then I basically followed the steps here

mysql -u root -p
mysql> SET GLOBAL innodb_fast_shutdown = 1;
mysql_upgrade -u root -p

This took some minutes but then everything was working again.

like image 177
Alwinius Avatar answered Oct 18 '22 22:10

Alwinius


It may occur after some time after you set up your new system.

As a suggested solution, just try on Windows

1) open cmd.exe as Administrator

2) run mysql_upgrade.exe -uyour_user_name -pyour_password

mysql_upgrade.exe can be located at

C:\Program Files\MySQL\MySQL Server 8.0\bin

Then run the following to see if the infoschema user has appeared.

select user, host from mysql.user;
like image 10
Mikhail D Avatar answered Oct 18 '22 22:10

Mikhail D