When I had a similar problem under WordPress moving from 5.25 to 5.28 I discovered that the database couldn't manage the update while logging was enabled. Try disabling it (CiviCRM->Administer->System Settings->Logging) and trying again. You may need to return to a backup first.
check you drupal directory path in your apache/nginx conf. If its different than 'home/mysite/public_html/drupal' either you can change in apache/nginx conf or replace $civicrm_root and template_c path in civicrm.settings.php
Or add below line at the end of the file in civicrm.settings.php
$civicrm_paths['civicrm.root']['url'] = ...
The problem with updating to version 5.28 was apparently due to some of my civicrm sites having been originally installed with version 4.7. I edited the settings file by comparing to a version 5 setting file. A critical line (~82) was commented out.
Un-commenting that line (and updating other sections of the setting file) allowed me to update all my sites, ...
Sourceforge has the files: https://sourceforge.net/projects/civicrm/files/civicrm-stable/
You can also just change the url manually for the "official" download, i.e. the current is https://download.civicrm.org/civicrm-5.28.3-wordpress.zip but you can manually type https://download.civicrm.org/civicrm-5.26.2-wordpress.zip
Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
Your database has already been upgraded to CiviCRM 5.25.0
This message indicates that the CiviCRM version installed is 5.25, not 5.28.3 Can ...