Windows如何修改MySQL用户root密码
- 关闭正在运行的MySQL服务。
- 打开DOS窗口,转到mysql\bin目录(如果设置了mysql的环境变量,这一步就不用了)。
- 输入mysqld –skip-grant-tables 回车。–skip-grant-tables
的意思是启动MySQL服务的时候跳过权限表认证。
如果
mysqld --skip-grant-tables
无效或出现[Warning] TIMESTAMP with implicit DEFAULT value is deprecated.Please use --explicit_defaults_for_timestamp server option (seedocumentation for more details)
的错误,可以参考这篇博客http://blog.youkuaiyun.com/xzh359239505/article/details/17223759
再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >。
连接权限数据库: use mysql; 。
改密码:update user set password=password(“root”) where
user=”root”;(别忘了最后加分号) 。- 刷新权限(必须步骤):flush privileges; 。
- 退出 quit。
- 重启mysql服务,使用用户名root和刚才设置的新密码root登录就ok了;
顺便说下:linux下怎办:首先修改vi /etc/my.cnf,在【mysqld】下面加一行:skip-grant-table
,wq保存退出。然后 service mysqld restart 重启mysql,输入mysql -u root -p
两次回车进入,按照上面的方法修改密码。退出后,记得修改回my.cnf. 在重启mysql就好了。
顺便汇总下mysql问题吧,感觉tm一大堆,忘了又得问度娘–
- MySQL 服务正在启动 . MySQL 服务无法启动, 服务没有报告任何错误
mysql-5.7.9-winx64没有data目录,mysql-5.6.27-winx64\data\mysql,存了不少数据文件。在net start mysql前先mysqld –initialize初始化下,在启动就可以了。 - ERROR 1045 (28000): Access denied for user ‘ODBC’@’localhost’ (using password: NO)
你个笨蛋,那是因为你没有输入需要登陆的用户名,输入mysql -u root -p就好了