美文网首页我爱编程
ERROR 1044 (42000): Access denie

ERROR 1044 (42000): Access denie

作者: Solace_0e71 | 来源:发表于2017-11-10 10:56 被阅读0次

    mysql5.6安装完成后默认匿名用户可以登录,使用mysqladmin修改root密码后,用mysql -uroot -p ‘密码’ 的方式是没办法登录的,因为默认登录的还是匿名用户,用mysql 直接匿名登录进去的话,show databases; 语句显示的数据库中没有了mysql数据库,也就不能进行删除匿名用户的操作了。下面要删除匿名用户按照网上的方法的话使用mysqld_safe --skip-grant-table启动数据库,在另外终端登录结果mysql数据库中表格显示为空,也就没办法操作user表了。
    网上的方法如下,可能是适应情景不对:
    1.关闭mysql

    service mysqld stop

    2.屏蔽权限

    mysqld_safe --skip-grant-table

    屏幕出现: Starting demo from .....
    3.新开起一个终端输入

    mysql -u root mysql

    mysql> delete from user where USER='';

    到了这一步显示没有user表,show tables;也是显示数据库为空。

    mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
    mysql> \q
    然后我的解决方法是在my.cnf配置文件中使用skip-grant-table语句,然后重新启动mysql再匿名登录就可以删除用户了。
    我参照的网上的方法如下:
    1.修改MySQL的登录设置:

    vi /etc/my.cnf

    在[mysqld]的段中加上一句:skip-grant-tables
    例如:
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    skip-grant-tables
    保存并且退出vi。
    2.重新启动mysqld

    /etc/init.d/mysqld restart

    Stopping MySQL: [ OK ]
    Starting MySQL: [ OK ]
    3.登录并修改MySQL的root密码

    /usr/bin/mysql

    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 3 to server version: 3.23.56
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    mysql> USE mysql ;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    Database changed
    mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;

    我是删除匿名用户,直接使用语句

    delete from user where USER='';

    Query OK, 0 rows affected (0.00 sec)
    Rows matched: 2 Changed: 0 Warnings: 0
    mysql> flush privileges ;
    Query OK, 0 rows affected (0.01 sec)
    mysql> quit
    Bye
    5.将MySQL的登录设置修改回来

    vi /etc/my.cnf

    将刚才在[mysqld]的段中加上的skip-grant-tables删除
    保存并且退出vi。
    6.重新启动mysqld

    /etc/init.d/mysqld restart

    Stopping MySQL: [ OK ]
    Starting MySQL: [ OK ]
    使用mysqladmin修改的密码登录就可以。

    相关文章

      网友评论

        本文标题:ERROR 1044 (42000): Access denie

        本文链接:https://www.haomeiwen.com/subject/poavmxtx.html