MySQL忘记密码怎么办?

来源:互联网 发布:linux启动mysql数据库 编辑:程序博客网 时间:2024/06/05 22:44

Windows如何修改MySQL用户root密码

  1. 关闭正在运行的MySQL服务。
  2. 打开DOS窗口,转到mysql\bin目录(如果设置了mysql的环境变量,这一步就不用了)。
  3. 输入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.csdn.net/xzh359239505/article/details/17223759

  1. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >。

  2. 连接权限数据库: use mysql; 。

  3. 改密码:update user set password=password(“root”) where
    user=”root”;(别忘了最后加分号) 。

  4. 刷新权限(必须步骤):flush privileges; 。
  5. 退出 quit。
  6. 重启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就好了
1 0