mysqladmin não aceita senha

1

Eu tenho um novo MBP com o Yosemite. Eu instalei a versão mais recente do MySQL (5.6.21 através do arquivo pkg) e configurei com sucesso sua senha e a vejo através do Sequel Pro. No entanto, não consigo logar no mysqladmin. Normalmente, como no Ubuntu, eu posso fazer:

 mysqladmin -u root -p

Mas o terminal me envia para o arquivo de ajuda útil. Claro, as regras não mudaram. O arquivo de ajuda confirma que, se eu deixar a senha após o argumento -p, o TTY assumirá, mas isso não acontece.

 mysqladmin -u root --password 

produz a mesma mensagem de ajuda.

 mysqladmin -u root -password 'password'

pede uma senha esperada, MAS quando eu passá-lo, em seguida, gera o comando desconhecido 'senha'.

Eu fiz o script / usr / local / bin / mysql_secure_installation mas não alterei nenhum valor. Se minha senha de root foi alterada, por que eu ainda seria capaz de me conectar via sequel pro e outras conexões PHP?

Tenho certeza de que é algo que estou negligenciando, mas sei que há algo que não encontrei em minhas pesquisas no Google, thanx, sam

    
por sam452 28.11.2014 / 18:00

1 resposta

2

O programa mysqladmin não é um cliente interativo. É um utilitário baseado no cliente. mysqladmin permite que você execute a conexão com o mysqld, execute um único comando a partir de um conjunto específico de comandos e, em seguida, desconecte-se.

EXEMPLO # 1

Alguns comandos que podem ser feitos no cliente mysql podem ser feitos no mysqladmin .

mysqladmin -uroot -ppassword flush-hosts
mysqladmin -uroot -ppassword processlist

EXEMPLO # 2

Alguns comandos que não podem ser feitos no cliente mysql podem ser feitos no mysqladmin .

Por exemplo, um desligamento ordenado do mysqld pode ser feito assim:

mysqladmin -uroot -ppassword shutdown

Claro, service mysql stop também funcionará. Infelizmente, service mysql stop não funciona quando o arquivo de soquete desaparece. Às vezes, isso pode acontecer quando uma pessoa emite service mysql start com o mysqld já em execução. Isso exclui o arquivo de soquete. A execução de mysqladmin -uroot -ppassword shutdown requer o arquivo de soquete porque você está se conectando como root@localhost . Se você tem o usuário [email protected] definido, você ainda pode emitir um desligamento ordenado conectando via TCP / IP com mysqladmin como este

mysqladmin -uroot -ppassword -h127.0.0.1 --protocol=tcp shutdown

Eu tenho muitos posts sobre isso, como estes

Em relação à sua pergunta original, se você quiser testar a senha, você deve estar usando mysql , não mysqladmin. Você deveria fazer isso

mysql -uroot -p

Como alternativa, se você ainda quiser usar mysqladmin , faça isso

mysqladmin -uroot -ppassword ping

Experimente!

    
por 28.11.2014 / 22:17