Philipp Tuchardt / MySQL ANY command denied to user

Created Wed, 08 Jun 2022 11:19:06 +0200
99 Words

MySQL ANY command denied to user

Error

ERROR 1142 (42000) at line 11215: ANY command denied to user 'db-user-exported'@'%' for table 'dummy'

Solution

Create a copy

cp dev-dump.sql dev-dump-copy.sql

Search and replace old user

Old user: db-user-exported | New user: db-user-target

Old DB: db-exported | New DB db-target

sed -i 's/db-user-target/db-user-exported/g' dev-dump-copy.sql
sed -i 's/db-target/db-exported/g' dev-dump-copy.sql

Reimport

mysql -u db-user-exported -p db-exported < dev-dump-copy.sql

mysqldump only definer

mysqldump --no-data --no-create-info --no-create-db --routines --triggers db-target > db-target-nodata.sql

Search and Replace in definer

sed -i 's/db-user-target/db-user-exported/g' db-target-nodata.sql
sed -i 's/db-target/db-exported/g' db-target-nodata.sql

Import only definer

mysql -u db-user-exported -p db-exported < db-target-nodata.sql