Ho risolto in questo modo:ho effettuato l'accesso con il nome utente di root
mysql -u root -p -h localhost
Ho creato un nuovo utente con
CREATE USER 'francesco'@'localhost' IDENTIFIED BY 'some_pass';
poi ho creato il database
CREATE DATABASE shop;
Ho concesso i privilegi per il nuovo utente per questo database
GRANT ALL PRIVILEGES ON shop.* TO 'francesco'@'localhost';
Quindi ho disconnesso il root e ho effettuato l'accesso come nuovo utente
quit;
mysql -u francesco -p -h localhost
Ho ricostruito il mio database usando uno script
source shop.sql;
E il gioco è fatto.. Ora da php funziona senza problemi con la chiamata
$conn = new mysqli("localhost", "francesco", "some_pass", "shop");
Grazie a tutti per il vostro tempo :)