某MC服把服务器上mysql的root密码居然给忘了。。。
于是。。。搜了一番,找到了这样的一个教程:
https://segmentfault.com/a/1190000000412194
一、适合ubuntu/debian的方式
这个方法只能用于ubuntu/debian 系统上,不过好处在于不需要停掉mysql的服务
cat /etc/mysql/debian.cnf
显示的内容是:
# Automatically generated for Debian scripts. DO NOT TOUCH! [client] host = localhost user = debian-sys-maint password = PASSWORD socket = /var/run/mysqld/mysqld.sock [mysql_upgrade] host = localhost user = debian-sys-maint password = PASSWORD socket = /var/run/mysqld/mysqld.sock basedir = /usr
我们记下来其中的user和password
然后直接
mysql -udebian-sys-maint -p
回车后输入password里面的密码,成功进入~
然后直接:
use mysql; update user set password=PASSWORD("newpassword") where User='root'; flush privileges;
全部执行完后就OK了~
二、比较通用的办法
这个办法需要停mysql,不过像是centos之类的可以用这个方法
service mysql stop
以安全模式启动mysql
mysqld_safe --skip-grant-tables --skip-networking &
然后直接登陆,不需要添加-p
mysql -uroot
成功登陆,然后改密码~