DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) resetting-permissions

Info Catalog (mysql.info) administration-issues (mysql.info) administration-issues (mysql.info) crashing
 
 A.4.1 How to Reset the Root Password
 ------------------------------------
 
 If you have never set a `root' password for MySQL, the server does not
 require a password at all for connecting as `root'. However, it is
 recommended to set a password for each account. See 
 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. Create a text file and place the following command within it on a
      single line:
 
           SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
 
      Save the file with any name. For this example the file will be
      `C:\mysql-init.txt'.
 
   4. Open a console window to get to the DOS command prompt:
 
           Start Menu -> Run -> cmd
 
   5. 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 --init-file=C:\mysql-init.txt
 
      The contents of the file named by the -init-file option are
      executed at server startup, changing the `root' password.  After
      the server has started successfully, you should delete
      `C:\mysql-init.txt'.
 
      If you install MySQL using the MySQL Installation Wizard, you may
      need to specify a -defaults-file option:
 
           C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe"
                    --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini"
                    --init-file=C:\mysql-init.txt
 
      The appropriate -defaults-file setting can be found using the
      Services Manager:
 
           Start Menu -> Control Panel -> Administrative Tools -> Services
 
      Find the MySQL service in the list, right-click on it, and choose
      the `Properties' option. The `Path to executable' field contains
      the -defaults-file setting.
 
   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. Create a text file and place the following command within it on a
      single line:
 
           SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
 
      Save the file with any name. For this example the file will be
      `~/mysql-init'.
 
   4. Restart the MySQL server with the special -init-file=~/mysql-init
      option:
 
           shell> mysqld_safe --init-file=~/mysql-init &
 
      The contents of the init-file are executed at server startup,
      changing the root password. After the server has started
      successfully you should delete `~/mysql-init'.
 
   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(but this approach is less secure):
 
   1. Stop `mysqld' and restart it with the -skip-grant-tables
      -user=root options (Windows users omit the -user=root portion).
 
   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) administration-issues (mysql.info) administration-issues (mysql.info) crashing
automatically generated byinfo2html