Access denied for user root - mysql on MAC OS

后端 未结 10 1688
面向向阳花
面向向阳花 2020-12-23 22:32

I know how do skip this problem on ubuntu, but how can i do it on MAC OS?

How can i set password for mysql on MAC?

1) Doesn\'t work

mysqladm         


        
相关标签:
10条回答
  • 2020-12-23 23:14

    For MySQL 5.7 I had to use:

    UPDATE user SET authentication_string = PASSWORD('YourNewPassword'), password_expired = 'N' WHERE User = 'root';

    0 讨论(0)
  • 2020-12-23 23:16

    MACOS 10.14 MOJAVE || MYSQL 8.0.15

    This didn't work on my mac:

    sudo /usr/local/mysql/support-files/mysql.server stop

    BUT THIS ACTUALLY WORKED:

    sudo /usr/local/mysql-8.0.15-macos10.14-x86_64/support-files/mysql.server stop
    

    The installation folder might vary per user, BE AWARE!

    Or just Check > System preferences > MySQL > if the server is running, stop it.

    then,

    Start MySQL with this command:

    sudo /usr/local/mysql-8.0.15-macos10.14-x86_64/bin/mysqld_safe --skip-grant-tables
    

    Open a new terminal window/tab:

    sudo /usr/local/mysql-8.0.15-macos10.14-x86_64/bin/mysql -u root
    

    This should open "mysql" prompt. Execute the following command (*scroll right if you don't the full query):

    UPDATE mysql.user SET authentication_string='your-password-goes-here' WHERE user='root' and host='localhost';
    

    REMEMBER THAT

    mysql-8.0.15-macos10.14-x86_64

    (in my case) is the installation folder on your local machine, and it might or might not be different than mine because of OS versions, mysql versions, installation methods used, etc.

    0 讨论(0)
  • 2020-12-23 23:16

    Very Simple Fix for MariaDB version: 10.4.6-MariaD on Mojave macOS

    I have gone through all the answers. Some of them worked for me some of them not. I found one simple way to fix this on macOS or OSX. Here are the steps:

    Prerequisites:

    Homebrew should be installed. Use the following link to install homebrew on macOS or OSX.

    Install mariadb:

    1. brew install mariadb
    2. Start MySQL Server: mysql.server start or run brew services start mariadb to start MySQL Server at login to the computer.
    3. Get into MySQL instance sudo mysql -u root

    NOTE: mysql -u root will throw error ERROR 1698 (28000): Access denied for user 'root'@'localhost' so use sudo to run this command.

    1. Now to change the password of the root user I tried the following commands:

      1. UPDATE user SET password=PASSWORD("mypassword") WHERE User='root';
        • This has thrown an error: ERROR 1348 (HY000): Column 'Password' is not updatable
      2. UPDATE user SET authentication_string=PASSWORD("mypassword") WHERE User='root';
        • This has thrown an error: ERROR 1348 (HY000): Column 'authentication_string' is not updatable
    2. But the following command worked:

      • ALTER USER 'root'@'localhost' IDENTIFIED BY 'mypassword';
        • The response was: Query OK, 0 rows affected (0.009 sec)

    So, it was a simple fix for me for the version 10.4.6-MariaD installed through brew. Hope this will help you too.

    0 讨论(0)
  • 2020-12-23 23:22

    You can do the following on iMac or Mac (High Sierra)

    Open a Terminal window, and stop the mysql if it's already running. You can also check this System Preferences > MySQL > see if it is running.

    Start MySQL with this command for skipping the main table

    sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
    

    Open a new terminal window/tab..

    sudo /usr/local/mysql/bin/mysql -u root
    

    This should open "mysql" prompt. Execute the below command:

    A ) MySQL 5.6 and below

    UPDATE mysql.user SET password=PASSWORD('NewPassord') WHERE user='root';
    

    -- or --

    B) MySQL 5.7+

    UPDATE mysql.user SET authentication_string=PASSWORD('NewPassord') WHERE user='root';
    

    Restart MySQL, either through System Preferences > MySql or using a command.

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