Stuck with Access Denied for user 'root'@'localhost' - Terminal, Mac

前端 未结 3 1887
心在旅途
心在旅途 2020-12-11 17:59

I am stuck when trying to access mysql. It\'s my first time so please be patient with me.

Initially I was try to set up Ruby and Rails and everything worked perfrec

相关标签:
3条回答
  • 2020-12-11 18:54

    I had a similar issue and this worked like a charm -

    Later versions of mysql implement a newer authentication scheme, not all libraries are up to date with this. You can revert to classic authentication by adding the following entry into your my.cnf

    [mysqld]
    
    # Only allow connections from localhost
    bind-address = 127.0.0.1
    
    # Some libraries not compatible with latest authentication scheme as per the SO article [1].
    default-authentication-plugin=mysql_native_password
    

    Simply add the following in /private/etc/my.cnf

    # Only allow connections from localhost
    bind-address = 127.0.0.1

    Reference: https://www.reddit.com/r/mysql/comments/ae7rf4/access_denied_for_user_rootlocalhost_mac_os/

    0 讨论(0)
  • 2020-12-11 19:03

    One method:

    1. stop your MySQL server.
    2. start your MySQL server with the --skip-grant-tables option. It allows you to connect to the server without a password.

      /path/to/mysqld --skip-grant-tables &
      
    3. connect to your server using the mysql client:

      mysql
      
    4. change the root password (replace NewPassord by what you want):

      UPDATE mysql.user SET password=PASSWORD('NewPassord') WHERE user='root';
      
    5. restart yout MySQL server.

    There are others ways to reset the MySQL root password: http://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html

    0 讨论(0)
  • 2020-12-11 19:03

    @Muur the last step did not worked for me(mysql Ver 14.14 Distrib 5.7.19) i had to change query to update user set authentication_string=password('1111') where user='root'; update user set password_expired=N where user='root';

    0 讨论(0)
提交回复
热议问题