概述:这篇文章描述如何设置、修改、重设(如果不小心忘记root密码)mysql root密码,经常我在使用mysqladmin命令时,经常会出现类似如下信息:mysqladmin: connect to server at ‘localhost’ failed error: ‘Access denied for user ‘root’@'localhost’ (using password: YES)’,我在这里特别说一下,如果你只对重设mysql root密码,可以阅读一下我上段时间写的:这篇文章
版权信息:1.0 作者: (原创)转载请保留此信息: 时间:2009-1-20
步骤:
第一种方法
1、使用mysqladmin设置mysql root密码
如果你安装后重新就没有配置过密码,默认密码为空,使用下面命令设置
$ mysqladmin -u root password newpass
如果你想修改(更新)root密码,使用下面命令
$ mysqladmin -u root -p oldpassword newpass
如果使用上述命令,获得如下信息,
mysqladmin: connect to server at ‘localhost’ failed
error: ‘Access denied for user ‘root’@'localhost’ (using password: YES)’
下面第二种方法可以解决
2、修改普通用户的密码
$ mysqladmin -u user-name -p oldpassword newpass
第二种方法:
mysql存储用户和密码放置于mysql数据库的use表里,你可以通过下面命令直接修改其密码
$ mysql -u root -p #--登录mysql 服务器 mysql> use mysql; #使用mysql数据库 mysql> update user set password=PASSWORD("newpass") where User='ENTER-USER-NAME-HERE'; #--更新用户密码 mysql>flush privileges; #--重新刷新权限 mysql> quit #--退出mysql服务器
找回mysql root密码,
我这里就不重复了,请直接访问这篇文章
感谢原创作者 李海鑫:
另: 如果 mysql root 用户密码忘记了,可以使用下面的方法重新设置:
以 MySQL-server-community-5.1.22-0.rheld4 为例。
(源码方式安装的可能路径有差别)
1、首先停止正在运行的MySQL进程
Linux下,运行 /sbin/service mysql stop, 或者:killall -TERM mysqld
Windows下,如果写成服务的 可以运行:net stop mysql,如未加载为服务,可直接在进程管理器中进行关闭。
2、以安全模式启动MySQL
Linux下,运行 /usr/bin/mysqld_safe - -skip-grant-tables &
Windows下,在命令行下运行 X:/MySQL/bin/mysqld-nt.exe --skip-grant-tables
3、完成以后就可以不用密码进入MySQL了
Linux下,运行 /usr/bin/mysql -u root 进入
Windows下,运行 X:/MySQL/bin/mysql -u root -p 进入
4、更改密码
>use mysql
>update user set password=password("新密码") where user="root";
>flush privileges;
5. 注意第 4 步中,不要忘记了 password 函数。