“Linux下忘记mysql的root用户密码解决方法 忘记mysql密码 mysql修改密码方法”的版本间的差异
跳到导航
跳到搜索
(→解决过程) |
(→参考) |
||
第73行: | 第73行: | ||
=参考= | =参考= | ||
+ | |||
+ | |||
+ | [https://www.jianshu.com/p/c110efbfdbcc MariaDB 10.4+ 新版本默认初始密码的修改] | ||
[http://blog.linuxchina.net/?p=879 linux下忘记mysql的root用户密码解决方法–忘记mysql密码] | [http://blog.linuxchina.net/?p=879 linux下忘记mysql的root用户密码解决方法–忘记mysql密码] | ||
[[category:mysql]] | [[category:mysql]] |
2020年9月8日 (二) 09:52的版本
原因
不小心 把自己在公司的测试机上的mysql root 密码给忘记了,网上有很多方法,但这个是我试过的 包成功哦
解决过程
首先 要把mysqld 进程停止 kill or killall 你自己选择 接着 用--skip-grant-tables参数启动mysqld # 其中/usr/local/mysql/bin是我的mysql安装目录 [root@localhost /]#/usr/local/mysql/bin/mysqld_safe --skip-grant-tables& 新办法 也可用于 mariadb my.cnf 在[mysqld] 下添加 skip-grant-tables=1 #不用密码进入mysql [root@localhost /]/usr/local/mysql/bin/mysql #切换到mysql database good mysql> use mysql; #将mysql root密码该为123456#了 #mysql5.7 update mysql.user set authentication_string=PASSWORD('123456#') where user='root'; flush privileges; 特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了 #这个是mysql5.6之前 UPDATE user SET password=password('123456#') WHERE user='root'; FLUSH PRIVILEGES; killall mysqld #登录正常 mysql -uroot -p
mariadb
sudo /etc/init.d/mysql stop Stopping mysql (via systemctl): mysql.service. evan@myxps:~/python/jumpserver$ sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf skip-grant-tables=1 mysql -uroot 无密码登录 use mysql; update user set authentication_string=password('root'),plugin='mysql_native_password' where user='root'; flush privileges; vim /etc/mysql/mariadb.conf.d/50-server.cnf 将 skip-grant-tables=1 这句#注释掉
https://www.cnblogs.com/messhair/p/11782850.html