Quando eu sou root, “mysql” se conecta sem uma senha, mesmo que eu tenha definido um

3

Quando eu sou root, o "mysql" se conecta sem uma senha, mesmo que eu tenha definido um:

# mysqladmin -u root password 'whatever'
# mysql -u root -p
Enter password: (typing the 'whatever' above)
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 4.1.22-standard

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> Bye

mas infelizmente isso também acontece ...

# mysql -u root 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 25 to server version: 4.1.22-standard

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> 

Então, mesmo que eu tenha definido a senha, e é verificado quando eu uso "-p", no entanto, não é necessário!?!?

EDITAR : Era meu .my.cnf, tinha a senha de login dentro dele. Removido, tudo bem.

    
por John Smith 11.06.2011 / 11:18

3 respostas

4

Talvez você tenha credenciais de usuário em seu ~ / .my.cnf

[client]
user=john
password=smith
    
por 28.07.2011 / 16:46
0

No meu caso, o usuário root do MySQL estava usando o Socket Peer Autenticação Pluggable -Credential .

Pelo que entendi, é que se o usuário unix que invocar o comando mysql corresponder ao usuário do MySQL, ele permitirá uma conexão para um soquete local (sem controle remoto). Portanto, passar qualquer senha não terá efeito porque esse tipo de autenticação não precisa de senha.

Você pode ver se tem usuários que usam auth_socket plugin.

select Host, User, plugin from mysql.user where plugin = 'auth_socket';

Eu estava usando o Ubuntu 18.04 e executei o script mysql_secure_installation .

    
por 25.07.2018 / 18:34
-2
mysql> update user set plugin='' where User='root'; 
mysql> flush privileges;
    
por 27.10.2016 / 00:52