Os servidores mysql / mariadb recentes têm um sistema de autenticação baseado em plug-in, por exemplo:
MariaDB [(none)]> select user,host,password,plugin from mysql.user limit 1;
+------+-----------+-------------------------------------------+-------------+
| user | host | password | plugin |
+------+-----------+-------------------------------------------+-------------+
| root | localhost | | unix_socket |
+------+-----------+-------------------------------------------+-------------+
Nesta configuração, o acesso para root @ localhost é APENAS concedido ao usuário unix "root", seu ID de usuário real é enviado para o servidor mysql e o login é concedido somente se corresponder ao usuário mysql solicitado.
Para o "user1" poder logar no servidor mysql você precisará:
-
Altere a autenticação raiz de volta para a autenticação de login / senha 'normal' (com cuidado, ela quebrará a maioria dos scripts automatizados, logrotate, service start / stop e semelhantes).
ALTER USER root@localhost identified with 'mysql_native_password'; SET PASSWORD = password('foo');
-
Crie um mysql user1 com a autenticação unix_socket:
CREATE USER user1 IDENTIFIED VIA unix_socket;
e dê a ele algum direito de acesso rootGRANT ALL WITH GRANT OPTION ON *.* TO user1@localhost;