mysql版本不同,修改密码的方法大同小异,但是有一定的区别:
mysql5.1
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
2.修改MySQL的登录设置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出
3.重新启动mysqld service mysqld restart
4.登录并修改MySQL的root密码
mysql> USE mysql ;
mysql> UPDATE user SET Password = password ( \’new-password\’ ) WHERE User = \’root\’ ;
mysql> flush privileges ;
mysql> quit
5.将MySQL的登录设置修改回来
# vi /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
6.重新启动mysqld
# /etc/init.d/mysqld restart ( service mysqld restart )
mysql5.7
1.停掉数据库: service mysql stop
2.运行:# mysqld_safe –skip-grant-tables &
3.登陆数据库: mysql -p
4.更改密码: mysql> update mysql.user set authentication_string=password(\’123qwe\’) where user=\’root\’ and Host = \’localhost\’;
不过这里要提示一下:新版本的数据库下的user表里面已经没有password了
而是将加密后的用户密码存储在authentication_string字段下面
flush privileges;
quit
5. 重启下mysql : service mysql restart
但此时操作似乎功能不完全,还要alter user…
mysql> alter user \’root\’@localhost\’ identified by \’123456\’