方法1 :用SET PASSWORD命令
1、打开终端win+r输入cmd回车即可打开;
2、通过mysql -u用户名 -p指定root用户登录MySQL,输入后回车会提示输入密码。
3、修改MySQL的root用户密码,格式:
mysql> set password for 用户名@localhost = password(‘新密码’);
比如:
mysql> set password for root@localhost = password(‘mikechen’);
上面例子将用户root的密码更改为:mikechen,重新登录,输入新密码mikechen就ok了。
方法2:用mysqladmin
root 用户可以使用 mysqladmin 命令来修改密码,mysqladmin 的语法格式如下:
mysqladmin -u username -h hostname -p password "newpwd"
例子:
例子:mysqladmin -uroot -p mikechen password 123456
也可以不输入,直接回车,提示的时候再输入,这样会安全些,别人无法通过dos下的doskey/history查看到你的新密码。
方法3 :用UPDATE直接编辑user表
首先登录MySQL:
mysql> use mysql
修改密码:
update user set password=password('mikechen') where user='root' and host='localhost';
刷新权限:
flush privileges
这个是必须的步骤,修改后记得刷新权限,然后重新登录,输入新密码mikechen就ok了。
方法4 :忘记root密码
1、停止MySQL Server
$ systemctl stop mysqld
$ ps -ef|grep mysqld
2、建立init-file,并编码修改密码的语句
$ touch /var/lib/mysql/mysql-init-password
在mysql-init-password中增加以下语句
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEWPASSWORD';
限制mysql-init-password只对mysql用户可读
$ sudo chmod 400 /var/lib/mysql/mysql-init-password
$ sudo chown mysql:mysql /var/lib/mysql/mysql-init-password
3、使用init-file重启MySQL Server
$ sudo -u mysql /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid --user=mysql --init-file=/var/lib/mysql/mysql-init-password
4、查看启动日志
查看MySQL Server启动日志,一般是/var/log/mysqld.log,如果执行init-file成功,一般会存在Execution of init_file…Started/Ended的日志。
5、验证密码修改的有效性
$ mysql -u root -p'NEWPASSWORD'
6、删除init-file
删除init-file或者不带init-file参数重启MySQL Server,否则root密码会在每次启动时修改。
$ sudo rm -rf /var/lib/mysql/mysql-init-password
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》