Resetting MySQL Root Password with XAMPP on Localhost

后端 未结 15 1598
北荒
北荒 2020-11-30 21:11

So for the past hour I\'ve been trying to figure out how to reset my \'root\' password for MySQL as I cannot log into PHPMyAdmin. I\'ve tried changing the password in the co

15条回答
  •  爱一瞬间的悲伤
    2020-11-30 21:41

    For me much better way is to do it using terminal rather then PhpMyAdmin UI.

    The answer is copied from "https://gist.github.com/susanBuck/39d1a384779f3d596afb19fcad6b598c" which I have tried and it works always, try it out..

    • Open C:\xampp\mysql\bin\my.ini (MySQL config file)
    • Find the line [mysqld] and right below it add skip-grant-tables. Example:

      [mysqld] skip-grant-tables port= 3306 socket = "C:/xampp/mysql/mysql.sock" basedir = "C:/xampp/mysql" tmpdir = "C:/xampp/tmp" [...etc...]

    • This should allow you to access MySQL if you don't know your password.

    • Stop and start MySQL from XAMPP to make this change take effect.
    • Next, in command line, connect to MySQL:

    C:\xampp\mysql\bin\mysql.exe --user=root

    • Once in MySQL command line "select" the mysql database:

    USE mysql;

    • Then, the following command will list all your MySQL users:

    SELECT * FROM user \G;

    • You can scan through the rows to see what the root user's password is set to. There will be a few root users listed, with different hosts.
    • To set root user's to have a password of your choice, run this command:

    UPDATE user SET password = PASSWORD('secret_pass') WHERE user = 'root';

    • -OR- To set all root user's to have a blank password, run this command:

    UPDATE user SET password = '' WHERE user = 'root';

    When you're done, run exit; to exit the MySQL command line.

    Next, re-enable password checking by removing skip-grant-tables from C:\xampp\mysql\bin\my.ini.

    Save changes, restart MySQL from XAMPP.

提交回复
热议问题