MySQL password setting error message: error 1054 (42s22): unknown column ‘password’ in ‘field list’

Today, in the last step of installing MySQL, there was an error when setting the password for MySQL!!
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!!

Read More: