问题背景
很久之前在本机上安装mysql,也没用过(主要是用Oracle),导致root密码忘记。更严重的是,连自己的安装目录都忘记了。
遇到的问题
1.在任务管理器可以找到mysql的服务已经起来,但是找不到安装目录。
解决办法:用everyything这个软件查找 “mysqld.exe” 这个文件名,发现只有一个目录有这个文件,故锁定该目录即为mysql的安装路径。
2. 调用 “mysqld_safe --skip-grant-tables&” 这条命令时发现 'mysqld_safe' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
解决办法:该版本的mysql没有mysqld_safe这个命令,换为mysqld这个命令
3.调用“mysqld_safe --skip-grant-tables&” 这条命令时发现'mysqld' 不是内部或外部命令,也不是可运行的程序或批处理文件。
解决办法:在当前的安装目录下,没找到mysqld_safe相关的文件,但是是存在mysqld.exe这个文件的。发现是这个mysql的环境变量没有配置,因此又配置了环境变量。问题解决。
如何更改root密码?
注意:修改前最好配置mysql的环境变量,可以解决一些不必要的麻烦。
1.关闭数据库. [方法1]打开cmd-----net start 查看mysql是否启动。启动的话就停止net stop mysql.[方法2]在任务管理器中找到mysql的服务直接停掉。
2.跳过授权表启动数据库.命令为:"mysqld --skip-grant-tables&"
该命令不会输出信息,看起来一直没有反应的样子,其实,后台已经在启动数据库了
现在再打开一个新的命令行窗口,可以免密码登录mysql了:
3.修改密码.命令为"UPDATE user SET password=PASSWORD("new password") WHERE user='root';"
修改完密码之后,就无法再用空密码或者其他随意输入的密码登录了。
然后"FLUSH PRIVILEGES"即可
反思与收获
1.root密码的设置不严谨,同时没有及时进行备份。
2.自己的软件安装目录都找不到,这也是资料没有很好的整理导致的结果。
3.了解了如何更改mysql的root密码。