I am trying to list all tables from mysql database on ubuntu os. But I am getting this error all time;
mysql> use mysql;
Database changed
mysql> show tables;
ERROR 1449 (HY000): The user specified as a definer ('mysql.infoschema'@'localhost') does not exist
I have checked my mysql version:
mysql Ver 8.0.20 for Linux on x86_64 (MySQL Community Server - GPL)
So it seems it is last version of mysql.
How can I fix this error?
Please help
DROP USER 'mysql.infoschema'@'localhost';
The rest of the solution is like previous answers.
mysql> CREATE USER 'mysql.infoschema'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT SELECT ON *.* TO `mysql.infoschema`@`localhost`;
I transfered my users table from another mysql server to a new installation and ran into this error. So, if you don't have the mysql.infoschema
user, you can try:
sudo systemctl stop mysql
sudo mysqld --upgrade=FORCE
This fixed for me.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With