Ambiente atual:
mysql> show variables like "%version%";
+-------------------------+------------------------------+
| Variable_name | Value |
+-------------------------+------------------------------+
| innodb_version | 5.7.13 |
| protocol_version | 10 |
| slave_type_conversions | |
| tls_version | TLSv1,TLSv1.1 |
| version | 5.7.13 |
| version_comment | MySQL Community Server (GPL) |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
+-------------------------+------------------------------+
8 rows in set (0.01 sec)
Usuário do comando Password Change:
mysql> update user set password=PASSWORD("XXXX") where user="root";
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
Estou esquecendo de algo?
mysql
no modo de segurança. em seguida, você pode alterar a senha de rootRespostas:
No MySQL 5.7, o
password
campo no campo damysql.user
tabela foi removido, agora o nome do campo éauthentication_string
.Primeiro escolha o banco de dados:
E então mostre as tabelas:
Você encontrará a
user
tabela e verá seus campos:Você perceberá que não há campo nomeado
password
, o campo da senha é nomeadoauthentication_string
. Então, faça o seguinte:Conforme sugerido por @Rui F Ribeiro, como alternativa, você pode executar:
fonte
SET PASSWORD FOR 'root' = PASSWORD('new_password');
A maneira do MySQL de alterar a senha é
SET PASSWORD
veja Manual de Referência do MySQL 5.7 / ... / SET PASSWORD Sintaxe
A resposta aceita de Rahul mostra como atualizar a senha com o
DML
extrato.Aviso: essa não é a maneira oficial e suportada. Pode causar problemas, se você não souber o que está fazendo. Não se esqueça
FLUSH PRIVILEGES
.Parar de usar FLUSH PRIVILEGES
Por favor, use
GRANT
,REVOKE
,SET PASSWORD
, ouRENAME USER
e não DML diretos.Atualização: SET PASSWORD ... = A sintaxe PASSWORD ('auth_string') está obsoleta no MySQL 5.7.6 e será removida em uma versão futura do MySQL.
fonte
mysqladmin -u user-name password -p "oldpassword" "newpass"
se você pode fazer o login, tente isso
""
não funcionará, tente''
aspas simplesupdate user set password=PASSWORD("newpass") where User='ENTER-USER-NAME-HERE';
fonte
authentication_string
No meu caso
Então eu acho que o seu comando update está certo, mas você precisa reiniciar o servidor mysql.
fonte
Para esse problema, usei um método simples e rude, renomeie o nome do campo para senha, o motivo é que utilizo o software mac navicat premium no erro de operação visual: coluna desconhecida 'password' em 'field List', the O próprio software usa senha para que eu não possa operar facilmente. Portanto, faço root na linha de comando do banco de dados, execute
E modifique o nome do campo:
Afinal normal.
fonte