root用户密码的维护:
一.由于安装MySQL完后,MySQL会自动提供一个不带密码的root用户,为了安全起见给root设置密码(当前系统环境必须是管理员root用户):
#mysqladmin -u root password 123 (123为密码,也可以写成:’123′或”123″) ;
1.设置密码后登入时就不能直接输入mysql了,必须跟些参数了,如下:
[root@localhost ~]# mysql -u root -p (-u 后跟登入的用户名,-p 提示要密码登入)
Enter password:(输入密码)
2.修改密码:
[root@localhost ~] #mysqladmin -u root -p password 123456 (password 后跟的是要更新的新密码)
Enter password:(输入原始密码,回车即可)
或者是:更改root的密码由yh123改为yh1234:(新旧密码 同时指定)
./bin/mysqladmin -uroot -pyh123 password yh1234
二.如果已经设置过root密码,则可以使用安全模式登录后,修改密码:
1.MySQL密码的恢复方法之一:
如果忘记了MySQL的root密码,可以用以下方法重新设置:
1. KILL掉系统里的MySQL进程;
killall -TERM mysqld
2. 用以下命令启动MySQL,以不检查权限的方式启动;
mysqld_safe --skip-grant-tables &
3. 然后用空密码方式使用root用户登录 MySQL;
mysql -u root
4. 修改root用户的密码;(下面三部:更新密码:生效:退出)
mysql> update mysql.user set password=PASSWORD('新密码') where User='root';
mysql> flush privileges;
mysql> quit
5.重新启动MySQL,建议关闭数据库,使用ps查看是否真的关闭了,如果没关闭,使用kill -9 杀死进程,确认完全关闭之后,再启动数据库就可以使用新密码登录了。
2. MySQL密码的恢复方法二
有可能你的系统没有 safe_mysqld 程序(比如我现在用的 ubuntu操作系统, apt-get安装的mysql) , 下面方法可以恢复
1. 停止mysqld;
/etc/init.d/mysql stop
(您可能有其它的方法,总之停止mysqld的运行就可以了)
2. 用以下命令启动MySQL,以不检查权限的方式启动;
mysqld_safe --skip-grant-tables &
3. 然后用空密码方式使用root用户登录 MySQL;
mysql -u root
4. 修改root用户的密码;
mysql> update mysql.user set password=PASSWORD('newpassword') where User='root';
mysql> flush privileges;
mysql> quit
重新启动MySQL
/etc/init.d/mysql restart
再用新密码登录即可