Change mysql user password using command line

前端 未结 9 1437
小鲜肉
小鲜肉 2021-01-31 06:49

I\'m trying to update the password for a database user using the command line, and it\'s not working for me. This is the code I\'m using:

mysql> UPDATE user S         


        
相关标签:
9条回答
  • 2021-01-31 07:28

    In your code, try enclosing password inside single quote. Alternatively, as per the documentation of mysql, following should work -

    SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('cleartext password');
    
    FLUSH PRIVILEGES;
    

    The last line is important or else your password change won't take effect unfortunately.

    EDIT:

    I ran a test in my local and it worked -

    mysql>  set password for 'test' = PASSWORD('$w0rdf1sh');
    Query OK, 0 rows affected (0.00 sec)
    

    Mine is version 5. You can use following command to determine your version -

    SHOW VARIABLES LIKE "%version%";
    
    0 讨论(0)
  • 2021-01-31 07:32

    Your login root should be /usr/local/directadmin/conf/mysql.conf. Then try following

    UPDATE mysql.user SET password=PASSWORD('$w0rdf1sh') WHERE user='tate256' AND Host='10.10.2.30';
    FLUSH PRIVILEGES;
    

    Host is your mysql host.

    0 讨论(0)
  • 2021-01-31 07:35

    As of MySQL 5.7.6, use ALTER USER

    Example:

    ALTER USER 'username' IDENTIFIED BY 'password';
    

    Because:

    • SET PASSWORD ... = PASSWORD('auth_string') syntax is deprecated as of MySQL 5.7.6 and will be removed in a future MySQL release.

    • SET PASSWORD ... = 'auth_string' syntax is not deprecated, but ALTER USER is now the preferred statement for assigning passwords.

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