mysql5.7如何修改密码以及密码如何忘记无密码登陆
今天买了一台阿里云服务器,Centos7.3系统,环境是LAMP。学生价9.8元是真的很实惠了。然后想修改一下mysql服务器的密码(mysql版本5.7),结果操作失误,密码给忘记了,导致新旧密码都不能登陆服务器,真是蛋疼。不过最终依靠自己的努力还是解决了问题。
错误案例演示
先来看一下我刚开始是怎么出错的(这是错误案例,大家不要照着这个例子敲,这里先演示了如何出错的,最后再修改):
1、先登陆服务器,use数据库“mysql”。然后修改user表里面的数据。毕竟mysql的密码是存在这个表里面的。
2、然后开始修改密码
结果报了一个错误,仔细一看是说mysql服务器是以安全模式启动的,因此我们不能修改密码,这个比较好解决,把mysql的保护关闭即可
设置为“0”表示关闭mysql的保护,开启的话就设置为“1”即可、
3、现在可以修改密码啦
(这是错误的语法,不要这样做,我是为了演示)
然后再flush一下
结果成功了,我高兴的退出服务器重新登录,发现新密码不能登录服务器,真是头大。后来旧密码也不能登录服务器了,此时崩溃了。
成功案例演示
上面的例子导致我新旧密码都不能登陆服务器,后来没办法只能无密码登陆服务器然后再修改密码啦。不过问题出错的原因是修改密码的语法是错误的,虽然执行成功了,但是并没有真的修改密码成功,并且旧密码也失效了。既然知道了出错原因,接下来就好办了。
无密码登陆mysql演示
1、修改/etc/my.cnf文件加入“--skip-grant-tables”
然后重新启动mysql
结果出错了,意外,赶紧查看日志
发现刚刚加入的那句话出现了问题,想想不对呀,后来发现mysql5.7加入的这句话是“skip-grant-tables”。少了前面的两个横杠
继续修改
再启动
启动成功
然后无密码登陆
(这个才是真正修改密码的语法)
然后再刷新一下
最后退出mysql服务器,这个时候就可以使用新密码登录系统了。
总结:mysql5.7与之前的版本比较出现了一些变化,我们不懂要去网上问一下。最后mysql5.7修改密码的语法一定要记清楚。
有时候刚刚安装完MySQL服务要求我们立即修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'
第一次编译安装mysql怎么修改密码?
今天安装mysql的这个版本“mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz”。第一次安装成功后修改密码是不能使用上面的update语句来修改密码,因为系统强制要求修改密码才可以选mysql库然后再update语句。所以就不能使用上面的语句来修改密码了,下面是这个第一次安装mysql的密码修改方式: