linux mysql

piginthesun 发布于 2016/06/28 09:27
阅读 240
收藏 0

centos 6.5下安装mysql,起始root没有密码,进入mysql后,执行update user set password="root" where user="root";执行完成提示成功,刷新权限后退出重新登录,使用mysqladmin -u root -p "root"登录不了。。。

加载中
0
逝水fox
逝水fox
mysql本身提供了修改密码的语句 set password,你可以在mysql控制台用help指令看这个命令怎么用。也可以用mysqladmin工具修改密码。

user表的密码是加密保存的,加密方式使用的是password()函数。

如果已经登录不了了,在配置文件中[mysqld]一节添加skip-grant-tables,或者关掉mysql服务,使用命令./mysqld --default-file=/etc/my.cnf --skip-grant-tables & 启动mysql服务器。

直接使用mysql连接后(不需要-u -p),使用语句(用户名和主机名看个人需要)修改密码(skip配置启动无法使用用户账户相关指令,只能改表),注意这里调用了password函数。

update user set password = password('root') where user = 'root' and host = 'localhost';

修改后,退出,重启mysql服务器即可(如果改了配置文件,注意要改回来)。

这个方法针对5.6以前的mysql,5.7以后user表有调整,password字段改为authentication_string字段
0
杨三更
杨三更
引号去掉
piginthesun
piginthesun
试过不可以
0
杨三更
杨三更
mysql -uroot -p
0
方唐镜
方唐镜
不要直接写密码,楼上是对的
piginthesun
piginthesun
试了 不可以
0
反ㄋ方向
反ㄋ方向

update user set Password = PASSWORD("root") where user='root';

flush privileges;

piginthesun
piginthesun
原来就是这么做的
0
酷酷的就
酷酷的就
恭喜你, 密码错了 . 
piginthesun
piginthesun
没搞明白,命令还在 设置的明明白白的密码试验就是不成功
0
都哑
都哑
重置一下。
0
piginthesun
piginthesun

引用来自“都哑”的评论

重置一下。

使用快照恢复了一下,重新安装一下好了

第一次使用mysqladmin -u root password "" 修改密码没有成功,后来采用安全模式启动才修改成功的,而这次是直接成功的



0
方唐镜
方唐镜
服务起了没?改密码flush privileges执行了吗?
piginthesun
piginthesun
这么基本的错误还是没有犯得
返回顶部
顶部