How do I change the password of the root user in MySQL?

前端 未结 3 1777
梦毁少年i
梦毁少年i 2020-12-17 05:42

I have long since forgotten the password for the root user on one of my boxes. Is there a way I can change it without having to log in to the instance, or will I have to rei

相关标签:
3条回答
  • 2020-12-17 06:08

    A quick Google resulted in this answer. In the root shell type:

    mysqladmin -u root password <password>
    
    0 讨论(0)
  • 2020-12-17 06:23

    Step 1

    Stop database:

    shell> /etc/init.d/mysql stop
    

    Step 2

    Restart database

    • without password autentification
    • without connection to the network

    Access to database is only possible through it's sock file '/var/lib/mysql/mysql.sock'.

    shell> mysqld --user=mysql --pid-file=/var/lib/mysql/mysqld.pid \
           --socket=/var/lib/mysql/mysql.sock --datadir=/var/lib/mysql \
           --skip-grant-tables --skip-networking  &
    

    Step 3

    Connect to the database and change password:

    shell> mysql --database mysql --socket=/var/lib/mysql/mysql.sock
    

    If you want to, show all users:

    mysql> select User, password from user;
    

    Set new password:

    mysql> update user set password=password('NEW PASS') WHERE User='USERNAME';
    

    Leave database connection:

    mysql> exit
    

    Step 4

    Restart database server "normally".

    shell> kill `cat /var/lib/mysql/mysqld.pid`
    shell> /etc/init.d/mysql start
    
    0 讨论(0)
  • 2020-12-17 06:23

    If you are running an Ubuntu server (possibly also Debian?) you can easily reset.

    If you are on 12.04:

    sudo dpkg-reconfigure mysql-server-5.5
    

    If you are on 10.04:

    sudo dpkg-reconfigure mysql-server-5.1
    

    If you are not sure which mysql-server version is installed you can try:

    dpkg --get-selections | grep mysql-server
    

    See for more info:

    https://help.ubuntu.com/12.04/serverguide/mysql.html https://help.ubuntu.com/10.04/serverguide/mysql.html

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