之前自己第一次初始化数据库时一切顺利,基本过程也已经记录在这里。
然而今天换了个环境重新配置数据库的时候,出现了许许多多的问题。趁自己还记得,简单做一下记录。
1 Install时出错
在输入指令 mysqld --install 时出错,出错内容提示为 Install/Remove of the Service Denied。
出错原因为:未使用管理员权限启动cmd。
除install外,remove、net start等方法同样也需要管理员权限,其中remove方法报错与此一致。若在非管理员权限下输入指令 net start mysql ,则会输出如下错误:
C:\Users\TidyDog>net start mysql
发生系统错误 5。
拒绝访问。
2 net start时出错
在安装完成后,启动mysql服务时出错,出错种类较多。除先前提到的发生系统错误5之外,主要还遇到过下面几种错误:
a. 发生系统错误2。系统找不到指定文件。
b. MySQL 服务无法启动。服务没有报告任何错误。
c. 服务没有响应控制功能。
咱们一个一个聊。
a. 发生系统错误2。系统找不到指定文件。
原因是注册表记录位置与mysql实际位置不一致。修改方法如下:
1)打开对应位置的注册表
2)修改对应值为文件安装路径
这个问题发生的原因暂时没有搞清。一般来说,该值应该会和配置的环境变量或者初始化时应用程序的位置一致才对,但不知道为什么,每次执行install命令时,该值总指向C盘的某个目录中。
电脑以前配置过数据库,但上两个月重装过一回系统,C盘数据被清空。理论上说来,这也应该是第一次安装mysql才对。会不会是有某些残留数据没有擦干净,导致该值默认指向了以前mysql的安装目录下呢?仍有待商榷。
b. MySQL 服务无法启动。服务没有报告任何错误。
受大伙的启发,可以通过 mysql --console 指令来输出对应的信息,里面的error有难有易,万幸自己遇到的是一眼就能看懂的error。
没图了,也还原不到当时的情况。
大概意思就是,初始化datadict路径失败。
那就删除已生成的datadict,再重新初始化一下即可;或者remove再install...反正就最基本的那些方法,我也不记得是哪个奏的效了
c. 服务没有响应控制功能。
说来惭愧,这个我真的没有找到原因,也没有找到解决办法。网上最常见的说法是,缺少相应插件vcruntime140_1.dll 免费下载 | DLL‑files.com,并在下载后解压到bin文件夹下即可。
不过我下载后仍旧无法开启,重启后又遇到了其他的错误;捣鼓了很久终于启动成功,却又不太确定该错误究竟是由什么因素造成的,这个方法究竟有没有效果。
3 忘记登陆密码
不怕各位笑话,捣鼓了老半天好不容易启动成功了,又猛地意识到,第一次初始化的时候,忘记把密码记下来了。找了很久,大多方法都无效,最后在这里找到了原因和解决方案。
1)关闭mysql服务。
2)使用 mysqld --console --skip-grant-tables --shared-memory 指令跳过密码验证。网上说的最多的 mysqld --skip-grant-tables 指令实际上已经失效。
3)另开一个cmd窗口并输入 mysql 指令,便可直接登入数据库,在其中进行密码修改即可