Home arrow MySQL arrow Page 9 - Troubleshooting Problems with MySQL Programs

Administration-Related Issues - MySQL

This appendix from MySQL Administrator's Guide (by MySQL AB, Sams, ISBN: 0672326345) lists some common problems and error messages that you may encounter when running MySQL programs. It describes how to determine the causes of the problems and what to do to solve them.

  1. Troubleshooting Problems with MySQL Programs
  2. Common Errors When Using MySQL Programs
  3. Authentication Protocol
  4. Memory and Lost Connection
  5. Packet too Large
  6. Table Full
  7. File Not Found
  8. Installation-Related Issues
  9. Administration-Related Issues
  10. How to Deal with MySQL if it Crashes
  11. How MySQL Handles a Full Disk, Temp Files, Socket Files and Time Zones
By: Sams Publishing
Rating: starstarstarstarstar / 28
September 29, 2004

print this article



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. See Section 4.3.1, "General 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
  3. Then find the MySQL service in the list, and stop it.

  4. If your server is not running as a service, you may need to use the Task Manager to force it to stop.

  5. Open a console window to get to the DOS command prompt:
    Start Menu -> Run -> cmd
  6. We are assuming that you installed MySQL to C:\mysql. If you installed MySQL to another location, adjust the following commands accordingly.

  7. At the DOS command prompt, execute this command:
    C:\> C:\mysql\bin\mysqld-nt --skip-grant-tables
  8. This starts the server in a special mode that does not check the grant tables to control access.

  9. 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
  10. 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.

  11. 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.

  12. You should now 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.

  3. Now 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ī
  4. 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.

  5. Restart the MySQL server with the special --skip-grant-tables option:
    shell> mysqld_safe --skip-grant-tables &
  6. Set a new password for the root@localhost MySQL account:
    shell> mysqladmin -u root flush-privileges password "newpwd"
  7. Replace "newpwd" with the actual root password that you want to use.

  8. Stop the MySQL server, then restart it in normal mode again.

  9. You should now 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';
  4. Replace "newpwd" with the actual root password that you want to use.

  5. Stop the MySQL server, then restart it in normal mode again.

  6. You should now be able to connect using the new password.


SamsThis chapter is from MySQL Administrator's Guide, by MySQL AB. (Sams, 2004, ISBN: 0672326345). Check it out at your favorite bookstore today. Buy this book now.

>>> More MySQL Articles          >>> More By Sams Publishing

blog comments powered by Disqus

escort Bursa Bursa escort Antalya eskort


- Oracle Unveils MySQL 5.6
- MySQL Vulnerabilities Threaten Databases
- MySQL Cloud Options Expand with Google Cloud...
- MySQL 5.6 Prepped to Handle Demanding Web Use
- ScaleBase Service Virtualizes MySQL Databases
- Oracle Unveils MySQL Conversion Tools
- Akiban Opens Database Software for MySQL Use...
- Oracle Fixes MySQL Bug
- MySQL Databases Vulnerable to Password Hack
- MySQL: Overview of the ALTER TABLE Statement
- MySQL: How to Use the GRANT Statement
- MySQL: Creating, Listing, and Removing Datab...
- MySQL: Create, Show, and Describe Database T...
- MySQL Data and Table Types
- McAfee Releases Audit Plugin for MySQL Users

Developer Shed Affiliates


Dev Shed Tutorial Topics: