Resolvi desta forma:entrei com o nome de usuário root
mysql -u root -p -h localhost
Criei um novo usuário com
CREATE USER 'francesco'@'localhost' IDENTIFIED BY 'some_pass';
então eu criei o banco de dados
CREATE DATABASE shop;
Eu concedi privilégios para um novo usuário para este banco de dados
GRANT ALL PRIVILEGES ON shop.* TO 'francesco'@'localhost';
Então eu desconectei o root e entrei no novo usuário
quit;
mysql -u francesco -p -h localhost
Eu reconstruí meu banco de dados usando um script
source shop.sql;
E pronto.. Agora do php funciona sem problemas com a chamada
$conn = new mysqli("localhost", "francesco", "some_pass", "shop");
Obrigado a todos pelo seu tempo :)