Entorno actual:
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)
Usuario de comando de cambio de contraseña:
mysql> update user set password=PASSWORD("XXXX") where user="root";
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
¿Me estoy perdiendo de algo?

mysqlen modo seguro. entonces puede cambiar la contraseña de rootRespuestas:
En MySQL 5.7, se eliminó el
passwordcampo en el campo demysql.usertabla, ahora el nombre del campo esauthentication_string.Primero elija la base de datos:
Y luego muestra las tablas:
Encontrará la
usertabla y verá sus campos:Te darás cuenta de que no hay un campo llamado
password, el campo de la contraseña se llamaauthentication_string. Entonces, solo haz esto:Según lo sugerido por @Rui F Ribeiro, alternativamente puede ejecutar:
fuente
SET PASSWORD FOR 'root' = PASSWORD('new_password');La forma de cambiar la contraseña de MySQL es
SET PASSWORDconsulte el Manual de referencia de MySQL 5.7 / ... / SET PASSWORD Syntax
La respuesta aceptada de Rahul muestra cómo actualizar la contraseña con una
DMLdeclaración.Advertencia: esa no es la forma oficial y admitida. Puede causar problemas si no sabe lo que está haciendo. No se olvide
FLUSH PRIVILEGES.Dejar de usar PRIVILEGIOS FLUSH
Por favor, uso
GRANT,REVOKE,SET PASSWORD, oRENAME USERy no declaraciones DML directos.Actualización: SET PASSWORD ... = La sintaxis PASSWORD ('auth_string') está en desuso a partir de MySQL 5.7.6 y se eliminará en una futura versión de MySQL.
fuente
mysqladmin -u user-name password -p "oldpassword" "newpass"si puede iniciar sesión, intente esto
""no funcionará intente con''comillas simplesupdate user set password=PASSWORD("newpass") where User='ENTER-USER-NAME-HERE';fuente
authentication_stringEn mi caso
Entonces, creo que su comando de actualización es correcto, pero necesita reiniciar su servidor mysql.
fuente
Para este problema, utilicé un método simple y grosero, cambie el nombre del campo a contraseña, la razón de esto es que utilizo el software mac navicat premium en el error de operación visual: columna desconocida 'contraseña' en 'lista de campos', el el software en sí usa contraseña para que no pueda operar fácilmente. Por lo tanto, me dirijo a la línea de comando de la base de datos, ejecuto
Y luego modifique el nombre del campo:
Después de todo lo normal.
fuente