1133
MariaDBERRORCommonSecurityHIGH confidence
Can't find any matching row in the user table
Production Risk
Low — operation is a no-op; no change is made.
What this means
ER_PASSWORD_NO_MATCH (1133, SQLSTATE HY000) is raised when SET PASSWORD or ALTER USER is executed for a user account that does not exist in the mysql.user table.
Why it happens
- 1Typo in the username or hostname
- 2User account was dropped before the password change was attempted
- 3Wrong host specified (e.g., 'user'@'%' vs 'user'@'localhost')
How to reproduce
trigger — this will error
trigger — this will error
SET PASSWORD FOR 'nonexistent_user'@'localhost' = 'newpass';
expected output
ERROR 1133 (HY000): Can't find any matching row in the user table
Fix
Verify the user account exists before changing password
WHEN Always.
Verify the user account exists before changing password
SELECT User, Host FROM mysql.user WHERE User = 'target_user'; -- Then use the correct user/host combination: ALTER USER 'target_user'@'localhost' IDENTIFIED BY 'newpass';
Why this works
Checking mysql.user first confirms the exact User/Host combination before attempting the change.
What not to do
✕ Create a new user when 1133 appears without investigating
1133 may indicate a typo or stale reference; creating a duplicate user with a corrected name creates confusion.
Sources
Official documentation ↗
MySQL 8.0 — 1133 ER_PASSWORD_NO_MATCH
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev