• ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 问题


      昨晚遇到的数据库问题一直没有找到解决方法,今天早晨来了,重新google一下,然后再按照步骤执行以下,发下ok了。呵呵。步骤如下:

    # /etc/init.d/mysql stop
    # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
    # mysql -u root mysql
    mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and host='root' or host='localhost';//把空的用户密码都修改成非空的密码就行了。
    mysql> FLUSH PRIVILEGES;
    mysql> quit

    # /etc/init.d/mysqld restart
    # mysql -uroot -p
    Enter password: <输入新设的密码newpassword>

    摘自:http://huangyifa163.blog.163.com/blog/static/262875752011127102215790/

    添加:本来以为以上就ok了,谁知道在win7上连接ubuntu的mysql服务器的时候,仍然出现问题,是想修改一下权限,用GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by 'password',提示access denied ''@'%' ……。又是查找一番,忽然发现有种写法是GRANT ALL PRIVILEGES ON *.* TO root@'%' identified by 'password',就是root不加‘’,我以为找到问题了,于是重启,准备实验一下,谁知道重启后,再连接,ok了。呵呵呵,原来就是上面写的密码修改好了就ok了。

    再添加:我的用mysql客户端是heidiSQL,因为之前公司用的是这个,这个软件用着小巧,但是功能强大,界面布局颜色感觉也很不错,所以,现在还用它。用它连接ubuntu的mysql服务器,每次都提示ERROR (1045)#0: Access denied for user 'root'@'192.168.1.123' (using password: YES),有时候又可以,最后才认定是我的系统的网络驱动有点问题,连接时候会出现异常。

    add:ERROR 1045 (28000): Access denied for user ''@'localhost' (using password: YES)

      开始的时候,mysql的错误提示如之前所遇到的,就按照以上的步骤去解决,而这次在执行grant权限操作时候,以上一个错误出现了。这个错误开始没放在心上,处理的方法还是按照之前的步骤进行的,但是问题依旧,搞得我一点精神都没有。没办法,昨天已经搞了一天了,今天要解决啊,于是,对于遇到的每个错误,都google解决方案,查看错误原因,最后解决方案找到了,而且连接成功:摘自http://2828602.blog.51cto.com/2818602/769788

    错误原因是mysql的密码有问题,用mysql匿名用户可以进入数据库,但是看不见mysql数据库.

    解决办法:

    具体操作步骤:
    关闭mysql:
    # service mysqld stop
    然后:
    # mysqld_safe --skip-grant-tables    (这一步貌似在我这一直执行不完似的,最后强制停止了它,继续下面的操作)
    启动mysql:
    # service mysqld start
    mysql -u root
    mysql> use mysql
    mysql> UPDATE user SET Password=PASSWORD('xxx') WHERE user='root';
    mysql> flush privileges;
    mysql>q

    到这里密码已经修改成功,

    mysql -u root -p

    输入刚才设置的密码,就可以成功登陆。

    以上是在ubuntu下,现在在win7下安装mysql,安装时候忘配置了,然后也遇到了之上的类似错误,解决方法好像有所不同,用UPDATE user SET Password=PASSWORD('xxx') WHERE user='root';,一直提示语法错误,好吧,重新找答案:http://blog.sina.com.cn/s/blog_7b8e2cf30100z7qs.html就ok了,如下:

    登陆root用户并修改密码
       mysql -u root -p
       Enter Password: #不输入直接回车默认密码
       进入mysql>      #mysql命令行
       set password for 'root'@'localhost' = password('123456');
       set password for 'root'@'127.0.0.1' = password('123456');

  • 相关阅读:
    初学OptaPlanner-01- 什么是OptaPlanner?
    初学推荐系统-05-Wide&Deep [附tensorflow的WideDeepModel代码简单实践]
    初学推荐系统-04-FM (因子分解机:多特征的二阶特征交叉)
    初学推荐系统-03- 隐语义模型与矩阵分解
    初学推荐系统-02-协同过滤 (UserCF & ItermCF) -附简单示例和优缺点分析
    [Datawhale 10月] 初学推荐系统-01-概述
    TiDB-BR数据备份和恢复工具
    Oracle-估算运行时间长的耗时操作语句
    Hadoop、Spark——完全分布式HA集群搭建
    Hadoop——集群参数配置详解
  • 原文地址:https://www.cnblogs.com/playerboy/p/3197430.html
Copyright © 2020-2023  润新知