实测,在mysql8系统下,用mysqld --console --skip-grant-tables --shared-memory可以无密码启动服务
服务启动后,以空密码登入系统
mysql.exe -u root
然后执行sql命令将root用户密码设置为空
UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';
mysql8之前的版本可以
一.windows下
1.以系统管理员身份运行cmd.
2.查看mysql是否已经启动
3.切换到MySQL安装路径下:D:\xxx\MySQL-5.6.36\bin;如果已经配了环境变量,可以不用切换了。
4.在命令行输入:mysqld -nt --skip-grant-tables
5.以管理员身份重新启动一个cmd命令窗口,输入:mysql -uroot -p,Enter进入数据库。
6.如果不想改密码,只是想看原来的密码的话,可以在命令行执行这个语句
selecthost,user,passwordfrommysql.user;//即可查看到用户和密码
update userset password=password("new_pass")where user="root";// 'new_pass' 这里改为你要设置的密码flush privileges; exit