MySQL 之1045错误

在终端中输入mysql -uroot -p后输入密码,出现1045错误如下:
ERROR 1045(28000): Access denied for user 'root'@'localhost'(using password)

解决方法:

  • 先找到mysql bin目录下的my.ini文件,在[mysql]下面加上 skip-grant-tables 用于跳过密码
  • 重启服务器
    net stop mysql
    net start mysql
  • 输入mysql -uroot -p 回车,不用输入密码回车
    mysql > use mysql;
  • 修改密码:
    mysql > set password for 'root'@'localhost'=password('123456');
    在网上看使用下面语句,但是我报错
    ERROR 1054 (42S22): Unknown column 'password' in 'field list'
    又查了查可能是版本问题,然后我使用下面语句成功了
    mysql> update user set authentication_string=password('123456') where user='root';
  • 刷新数据库
    mysql > flush privilegs;
  • 退出
    mysql > quit;
  • 修改 my.ini 注释掉skip-grant-tables保存退出
  • 重启服务器
    net stop mysql
    net start mysql
  • 再输入mysql -uroot -p就能进入mysql

你可能感兴趣的:(MySQL 之1045错误)