I’ve been browsing the web and this site from other users which have had this issue and reading the comments to resolve however I’ve not had much luck and i’m going bonkers trying to work out the issue.
I have two servers – Win Server 2019 and both use XAMPP with Apache and MYSQL, the first server (1) has been running for over a year perfectly fine, however I’m setting up another server (2) to use as a test environment but with a fresh install of windows, xampp along with the Apache/MYSQL modules.
I’m using Invision Community application but I’m getting this upon the first page of installation:
MySQL Requirements
Fatal error: Uncaught mysqli_sql_exception: Access denied for user ”@’localhost’ (using password: NO) in C:xampphtdocsips4.php:317 Stack trace: #0 C:xampphtdocsips4.php(317): mysqli->__construct(‘localhost’) #1 C:xampphtdocsips4.php(340): my_mysqli->__construct(‘localhost’) #2 {main} thrown in C:xampphtdocsips4.php on line 317
IPS4.php is just a file to state whether the server meets all the requirements for the application.
I’ve then compared MYSQL on (1) to the install on (2) and I’ve matched the details, given privileges to "root" user on all of the available databases within PHPMYADMIN, granted full grants and then reloaded them, restarted MYSQL and Apache and still same issue.
Normally the Invision software continues through to then request the database details, user details etc. but it hasn’t got to that point yet.
The only differences I can see between both servers is (1) is running PHP 7.3.7 | Apache 2.4.39 | MySQL 5.0.12 and server (2) is running PHP 8.2.0 | Apache 2.4.54 | MySQL 8.2.0
I was hoping I would just install XAMPP and then transfer the files to install the software and then configure it to choose which DB/User and then install and get started but apparently not.
ROOT doesn’t have a password on (2) but does on (1), when I add a password to (2), I’m then unable to access PHPMYADMIN and doesn’t ask for a password to log in. I’ve spent a few hours today trying to resolve this but now I think I’d like some advice. Many thanks
Setting root password, then flushing privileges, granting full permissions on all databases, copying the mysql files from server (1) to server (2). uninstalling XAMPP and reinstalling.
I don’t recall ever needing to do anything for permissions when I setup this software on server (1). I’ve also installed this software on a few linux servers but didn’t enjoy using linux so I stopped using it.
EDIT: It seems it’s using MariaDB 10.4.27
2
Answers
There was a user called "Any" hostname "%" which looks to be what was causing the issue, I gave it access to all databases (most likely wrong thing to do but it's internally accessed only - no access outside of our network).
This got rid of the error
Thanks for your help
Set a password for root on (2).
Change the phpMyAdmin
config.inc.php
file,changethen phpMyAdmin will throw a login dialog and ask for a user/password
That should sort out the phpMyAdmin issue.