MySQL设置密码出现错误信息提示:ERROR 1054 (42S22): Unknown column 'password' in 'field list'

今天在安装MySQL的过程中到了最后一步,那就是给MySQL设置密码的时候突然出现了错误!!!

ERROR 1054 (42S22): Unknown column 'password' in 'field list'

搞了半天才知道,可以通过免密码登录的方式更改密码。

首先我们进到mysql主配置文件当中去添加一行命令如下:

skip-grant-tables

添加完成后,保存,重启MySQL服务即可。

systemctl  restart  mysqld

再次登录mysql数据库,就可以直接免密码登录,然后再次修改密码,修改如下:

update mysql.user set authentication_string=password('密码') where user='用户' ;

退出mysql服务,再次登录即可!!!

 

接下来又遇到一个问题那就是MySQL密码突然过期了,提示错误信息:

ERROR 1862 (HY000): Your password has expired. To log in you must change

意思翻译过来就是:错误1862(HY000):你的密码已经过期。登录必须改变它使用一个客户端,支持过期的密码。

解决方法如下:

通过免密码方式登录MySQL服务,免密方式上面已经说了只需在配置文件加入一行skip-grant-tables参数即可,然后进入MySQL之后查看root用户的详细信息。

# mysql -u root -p
        > use mysql
        > select * from mysql.user where user='root' \G

查看信息如下:

*************************** 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)

把password_expired改成不过期

 >  update user set password_expired='N' where user='root';
 > flush privileges;
 > quit

最后注释 skip-grant-tables参数,重启MySQL服务,再次登录MySQL服务即可!!!

 

 

 

 

 

 

 

你可能感兴趣的:(Linux,web服务,网络,Windows,数据库,工具,故障汇总)