zoukankan      html  css  js  c++  java
  • mysql ERROR 1044 (42000): Access denied for user ''@'localhost' to database

    新安装的mysql密码是空的。

    ./mysql -u root -p
    use mysql
    SELECT `Host`,`User` FROM user;
    UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1;
    FLUSH PRIVILEGES;

    GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'%' IDENTIFIED BY 'test' WITH GRANT OPTION;

    方法一:
    1.关闭mysql
       # service mysqld stop
    2.屏蔽权限
       # mysqld_safe --skip-grant-table
       屏幕出现: Starting demo from .....
    3.新开起一个终端输入
       # mysql -u root mysql
       mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
       mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
       mysql> q

     
    方法
    mysql> use mysql
    ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'mysql'
    mysql> exit
    Bye
    [root@testtest ~]# service mysqld stop 
    Stopping mysqld:                      [ OK ]
    [root@testtest ~]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 
     
    [root@testtest ~]# mysql -u root -p -hlocalhost
    Enter password: 
     
    mysql> use mysql
     
    mysql> SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user;
     
    mysql> UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
     
    mysql> FLUSH PRIVILEGES;
     
    mysql> GRANT ALL ON *.* TO 'root'@'localhost';
     
    mysql> GRANT ALL ON *.* TO 'root'@'cn.cn.cn.cn';
     
    mysql> GRANT ALL ON *.* TO 'root'@'245.245.245.245';
     
    mysql> GRANT ALL ON *.* TO 'root'@'127.0.0.1';
     
    mysql> FLUSH PRIVILEGES;
     
     
    mysql> quit
    Bye
    [root@testtest ~]# service mysqld start 

    方法三:

    在my.ini的[mysqld]字段加入: 
    skip-grant-tables
    重启mysql服务,这时的mysql不需要密码即可登录数据库
    然后进入mysql 
    mysql>use mysql;
    mysql>update user set password=password('新密码') WHERE User='root';
    mysql>flush privileges;
    运行之后最后去掉my.ini中的skip-grant-tables,重启mysqld即可。
     
     
     
     
    mysql> use mysql
    ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'mysql'
    mysql> exit
    Bye
    [root@testtest ~]# service mysqld stop
    Stopping mysqld:                      [ OK ]
    [root@testtest ~]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
     
    [root@testtest ~]# mysql -u root -p -hlocalhost
    Enter password:
     
    mysql> use mysql
     
    mysql> SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user;
     
    mysql> UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
     
    mysql> FLUSH PRIVILEGES;
     
    mysql> GRANT ALL ON *.* TO 'root'@'localhost';
     
    mysql> GRANT ALL ON *.* TO 'root'@'cn.cn.cn.cn';
     
    mysql> GRANT ALL ON *.* TO 'root'@'245.245.245.245';
     
    mysql> GRANT ALL ON *.* TO 'root'@'127.0.0.1';
     
    mysql> FLUSH PRIVILEGES;
     
     
    mysql> quit
    Bye
    [root@testtest ~]# service mysqld start
  • 相关阅读:
    网站中使用了Excel组件问题 Microsoft.ACE.OLEDB.14.0' provider is not registered on the local machine
    键值对在架构设计里的应用
    轻轻松松 用U盘安装WIN7
    U盘装WIN7:微软官方工具《Windows 7 USB DVD Download Tool》U盘装wind7(更新官方整合SP1的WIN7 ISO)
    微软一站式示例代码库(中文版)20110924版本, 新添加ASP.NET, Windows Base, Silverlight, WinForm等20个Sample
    最薄笔记本苹果MacBook Air安装雪豹+Win7双系统的驱动解决方法
    使用受保护的配置加密配置信息
    自动加密web.config配置节批处理
    Asp.net MVC3学习
    周老师科研站
  • 原文地址:https://www.cnblogs.com/shihaiming/p/6112388.html
Copyright © 2011-2022 走看看