ow do I change MySQL root password under Linux, FreeBSD, OpenBSD and UNIX-like like operating system over the ssh session?
Setting up MySQL password is one of the essential tasks. By default, root user is MySQL admin account user. Please note that the Linux or UNIX root account for your operating system and MySQL root user accounts are different. They are separate, and nothing to do with each other. Sometime you may remove Mysql root account and setup admin user as super user for security purpose.
However, if you want to change (or update) a root password, then you need to use the following command:
For example, If the old password is abc, you can set the new password to 123456, enter:
OR
Login to mysql server, type the following command at shell prompt:
This method is also useful with PHP, Python, or Perl scripting APIs.
This documentation was written for MySQL 5.0.45 but may be usefull with other versions.
Setting up MySQL password is one of the essential tasks. By default, root user is MySQL admin account user. Please note that the Linux or UNIX root account for your operating system and MySQL root user accounts are different. They are separate, and nothing to do with each other. Sometime you may remove Mysql root account and setup admin user as super user for security purpose.
Tutorial details | |
---|---|
Difficulty | Intermediate (rss) |
Root privileges | No |
Requirements | mysqladmin/mysql |
Estimated completion time | 5 minutes |
Method #1: Use mysqladmin command to change root password
If you have never set a root password for MySQL server, the server does not require a password at all for connecting as root. To setup root password for first time, use mysqladmin command at shell prompt as follows:$ mysqladmin -u root password NEWPASSWORD
However, if you want to change (or update) a root password, then you need to use the following command:
$ mysqladmin -u root -p'oldpassword' password newpass
For example, If the old password is abc, you can set the new password to 123456, enter:
$ mysqladmin -u root -p'abc' password '123456'
Note:123456
password is used for demonstration purpose only. You must select a
strong password. It is an important protection to help you have safer
MySQL database transactions.
Sample live session from my home server using mysqladmin
How do I verify that the new password is working or not?
Use the following mysql command:mysql -u root -p'123456' db-name-here
OR
mysql -u root -p'123456' -e 'show databases;'
A note about changing MySQL password for other users
To change a normal user password you need to type the following command. In this example, change the password for nixcraft mysql user:$ mysqladmin -u nixcraft -p'old-password' password new-password
Method #2: Changing MySQL root user password using mysql command
This is an another method. MySQL stores username and passwords in user table inside MySQL database. You can directly update or change the password using the following method for user called nixcraft:
Login to mysql server, type the following command at shell prompt:
$ mysql -u root -p
Use mysql database (type command at mysql> prompt):
mysql> use mysql;
Change password for user nixcraft, enter:
mysql> update user set password=PASSWORD("NEWPASSWORD") where User='nixcraft';
Finally, reload the privileges:
mysql> flush privileges; mysql> quit
Sample live session from my home server
This method is also useful with PHP, Python, or Perl scripting APIs.
See also:
- HowTo: Recover MySQL root account password
- Man pages - mysqladmin and mysql commands
ANOTHERVersion
This documentation was written for MySQL 5.0.45 but may be usefull with other versions.
How to install MySQL
- Install MySQL
yum install mysql-server mysql php-mysql
How to configure MySQL
- Set the MySQL service to start on boot
chkconfig --levels 235 mysqld on - Start the MySQL service
service mysqld start - Log into MySQL
mysql -u root - Set the root user password for all local domains
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new-password');
SET PASSWORD FOR 'root'@'localhost.localdomain' = PASSWORD('new-password');
SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('new-password'); - Drop the Any user
DROP USER ''@'localhost';DROP USER ''@'localhost.localdomain'; - Exit MySQL
exit
No comments:
Post a Comment