ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’
Do along while just know, can change password through password-free login way.
First of all, let’s go to the mysql master configuration file and add a command as follows:
skip-grant-tables
After adding, save and restart MySQL service.
systemctl restart mysqld
If you log into mysql database again, you can log in directly without password, and then change the password again, as follows:
update mysql.user set authentication_string=password('password') where user='account' ;
Log out of mysql service and log in again!!
The next problem is that the MySQL password has suddenly expired, with an error message:
ERROR 1862 (HY000): Your password has expired. To log in you must change
Error 1862(HY000): Your password has expired. Login must change it to use a client that supports expired passwords.
The solution is as follows:
Login to MySQL service in passpassage-free mode, as mentioned above, simply add a line of skip-gran-tables parameter to the configuration file, and then view the root user’s details after you enter MySQL.
# mysql -u root -p
> use mysql
> select * from mysql.user where user='root' \G
See the following information:
*************************** 1. row ***************************
Host: localhost
User: root
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: mysql_native_password
authentication_string: *AC241830FFDDC8943AB31CBD47D758E79F7953EA
password_expired: N
password_last_changed: 2015-11-11 16:52:49
password_lifetime: NULL
account_locked: N
1 row in set (0.00 sec)
Change password_EXPIRED to unexpired
> update user set password_expired='N' where user='root';
> flush privileges;
> quit
Finally, annotate the skip-Grant-tables parameter, restart MySQL service, and log in MySQL service again!!