[wp-trac] [WordPress Trac] #63678: WordPress redirect to wp-admin/install.php when a user is rate limited in mysql
WordPress Trac
noreply at wordpress.org
Thu Jul 10 08:47:46 UTC 2025
#63678: WordPress redirect to wp-admin/install.php when a user is rate limited in
mysql
--------------------------+------------------------------
Reporter: anonymooo | Owner: anonymooo
Type: defect (bug) | Status: assigned
Priority: normal | Milestone: Awaiting Review
Component: General | Version: trunk
Severity: normal | Resolution:
Keywords: has-patch | Focuses:
--------------------------+------------------------------
Comment (by anonymooo):
WordPress redirect to wp-admin/install.php when a user is rate limited in
MySQL.
=== What are the rate limit parameters in MySQL ?
A MySQL user can be created with a set of parameters to limit resources
consumption:
* MAX_QUERIES_PER_HOUR
* MAX_UPDATES_PER_HOUR
* MAX_CONNECTIONS_PER_HOUR
* MAX_USER_CONNECTIONS
https://dev.mysql.com/doc/refman/8.4/en/user-resources.html
Setting these values may help protect the database server under heavy
load, help mitigate `deny of service` attacks.
=== How to reproduce ?
1. Set up a WordPress
2. As root in MySQL, run the following query: `ALTER USER
'database_user'@'%' WITH MAX_QUERIES_PER_HOUR 1;`
3. Refresh page: We are now redirected to the installation page
Once the number of query per hour for the user has been reduced (or
`MAX_QUERIES_PER_HOUR` set to a higher value / disabled), WordPress is
reachable again.
=== Expectations
As this is a documented return code from MySQL, WordPress should display
the correct error instead of redirecting to the installation page.
Also, as we are hitting a rate-limiting value, we should not try to retry
queries (thus making it harder to go below the limited value) but die on-
spot.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/63678#comment:2>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list