美文网首页
CentOS7 Access denied for user '

CentOS7 Access denied for user '

作者: 楍跑的鸟 | 来源:发表于2020-06-13 18:54 被阅读0次

       在Linux上使用MySQL就遇到了很多难题和报错,这次出现的是一个无法修改初始密码的错误;


    image.png

    键盘无法键入密码;
    报错信息

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

    以下是我解决问题的步骤。

    1、关闭mysql服务

    [root@localhost mysql]# service mysqld stop
    Redirecting to /bin/systemctl stop mysqld.service
    
    image.png

    2、找到/etc/my.cnf,在最后一行添加skip-grant-tables(用于免密码登录)

    vim /etc/my.cnf
    
    
    image.png

    3、重启mysql服务

    [root@localhost etc]# service mysqld start
    Redirecting to /bin/systemctl start mysqld.service
    
    

    4、正常登录mysql(不使用密码)

    [root@localhost etc]# mysql -u root
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 7
    Server version: 8.0.20 MySQL Community Server - GPL
    
    Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> 
    

    5、刷新权限

    flush privileges
    

    6、修改密码

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
    Query OK, 0 rows affected (0.11 sec)
    
    mysql> flush privileges;  # 刷新权限
    Query OK, 0 rows affected (0.00 sec)
    

    7、找到/etc/my.cnf ,删除skip-grant-table

    image.png

    8、重启mysql服务

    [root@localhost etc]# service mysqld restart
    Redirecting to /bin/systemctl restart mysqld.service
    
    

    9、正常登录测试 mysql -u root -p

    [root@localhost etc]# mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 10
    Server version: 8.0.20 MySQL Community Server - GPL
    
    Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql>
    

    相关文章

      网友评论

          本文标题:CentOS7 Access denied for user '

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