DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(mysql.info.gz) Resetting permissions

Info Catalog (mysql.info.gz) Administration Issues (mysql.info.gz) Administration Issues (mysql.info.gz) Crashing
 
 A.4.1 How to Reset the Root Password
 ------------------------------------
 
 If you have never set a `root' password for MySQL, the server will not
 require a password at all for connecting as `root'. However, it is
 recommended to set a password for each account.  Security
 guidelines.
 
 If you set a `root' password previously, but have forgotten what it
 was, you can set a new password. The following procedure is for Windows
 systems. The procedure for Unix systems is given later in this section.
 
 The procedure under Windows:
 
   1. Log on to your system as Administrator.
 
   2. Stop the MySQL server if it is running. For a server that is
      running as a Windows service, go to the Services manager:
           Start Menu -> Control Panel -> Administrative Tools -> Services
      Then find the MySQL service in the list, and stop it.
 
      If your server is not running as a service, you may need to use
      the Task Manager to force it to stop.
 
   3. Open a console window to get to the DOS command prompt:
           Start Menu -> Run -> cmd
 
   4. We are assuming that you installed MySQL to `C:\mysql'. If you
      installed MySQL to another location, adjust the following commands
      accordingly.
 
      At the DOS command prompt, execute this command:
           C:\> C:\mysql\bin\mysqld-nt --skip-grant-tables
      This starts the server in a special mode that does not check the
      grant tables to control access.
 
   5. Keeping the first console window open, open a second console
      window and execute the following commands (type each on a single
      line):
           C:\> C:\mysql\bin\mysqladmin -u root
                    flush-privileges password "NEWPWD"
           C:\> C:\mysql\bin\mysqladmin -u root -p shutdown
      Replace "NEWPWD" with the actual `root' password that you want to
      use.  The second command will prompt you to enter the new password
      for access.  Enter the password that you assigned in the first
      command.
 
   6. Stop the MySQL server, then restart it in normal mode again.  If
      you run the server as a service, start it from the Windows Services
      window.  If you start the server manually, use whatever command you
      normally use.
 
   7. You should be able to connect using the new password.
 
 In a Unix environment, the procedure for resetting the `root' password
 is as follows:
 
   1. Log on to your system as either the Unix `root' user or as the
      same user that the `mysqld' server runs as.
 
   2. Locate the `.pid' file that contains the server's process ID.  The
      exact location and name of this file depend on your distribution,
      hostname, and configuration. Common locations are
      `/var/lib/mysql/', `/var/run/mysqld/', and
      `/usr/local/mysql/data/'. Generally, the filename has the
      extension of `.pid' and begins with either `mysqld' or your
      system's hostname.
 
      You can stop the MySQL server by sending a normal `kill' (not
      `kill -9') to the `mysqld' process, using the pathname of the
      `.pid' file in the following command:
           shell> kill `cat /mysql-data-directory/host_name.pid`
      Note the use of backticks rather than forward quotes with the `cat'
      command; these cause the output of `cat' to be substituted into
      the `kill' command.
 
   3. Restart the MySQL server with the special `--skip-grant-tables'
      option:
           shell> mysqld_safe --skip-grant-tables &
 
   4. Set a new password for the `root@localhost' MySQL account:
           shell> mysqladmin -u root flush-privileges password "NEWPWD"
      Replace "NEWPWD" with the actual `root' password that you want to
      use.
 
   5. You should be able to connect using the new password.
 
 Alternatively, on any platform, you can set the new password using the
 `mysql' client:
   1. Stop `mysqld' and restart it with the `--skip-grant-tables' option
      as described earlier.
 
   2. Connect to the `mysqld' server with this command:
           shell> mysql -u root
 
   3. Issue the following statements in the `mysql' client:
           mysql> UPDATE mysql.user SET Password=PASSWORD('NEWPWD')
               ->                   WHERE User='root';
           mysql> FLUSH PRIVILEGES;
 
      Replace "NEWPWD" with the actual `root' password that you want to
      use.
 
   4. You should be able to connect using the new password.
 
Info Catalog (mysql.info.gz) Administration Issues (mysql.info.gz) Administration Issues (mysql.info.gz) Crashing
automatically generated byinfo2html