错误概览
- mysqld install时提示“计算机中丢失MSVR120.dll”
- MySQL服务无法启动 3534
- mysql –initialize指令错误,无法初始化
- Error 1045 (28000) Access Denied …
- Error 1820 (HY000)
环境/工具清单
- win7 x64
- IntellJ IDEA
- mysql (Ver 14.14 Disturb 5.7.12)
开始排雷
参考资料: https://blog.csdn.net/qq_29977681/article/details/79951712
服务安装错误
到mysql官网下载mysql archive后,解压,以管理员身份运行cmd。切换到bin目录,输入指令安装mysql服务:
mysqld install
弹出提示:
百度了一下,单独下载MSVR120.dll,解压到C:\Windows\SysWOW64目录下。运行–>输入regsvr32 msvcr120.dll,提示:
转而复制dll文件到C:\Windows\System32目录下,再次运行:
同样的,mysql服务还是无法安装成功。深入百度了一下,安装Visual C++ 2013 Redistributale (x86 & x64)。再次运行regsvr32指令:
虽然还是错误提示,但好歹已经能成功加载了。试了一下mysqld指令也能成功执行。
服务启动错误
输入cmd指令启动服务:
net start mysql
看到这个我都惊呆了。没有错误还TM无法启动几个意思??? 百度!
出错原因在于安装的mysql版本为5.7.21。而安装成参考的文档是5.6的。5.7版本的根目录下没有data目录,而我根据参考文档中在mysql根目录下进行了相关配置有用到这个目录。按照这个资料我依次添加了环境变量,新建data目录,输入如下cmd指令:
mysqld --romve
mysqld --install
mysqld --initialize
最后一步就出错了:
啥玩意儿? data目录我刚刚建的怎么就多了东西?? 打开看了一下,好吧,的确生成了一些错误报告,于是我将其清空再次初始化mysql,这回就成功启动服务了。
进入mysql错误
输入cmd指令:
mysql -uroot -p
空密码回车登录出错:
百度了解了一下,还是因为5.7版本的新改动使得刚安装的时候无法通过空密码进入。这里首先得更改mysql下的my.int配置文件,在[mysqld]下加入指令:
skip-grant-tables
这样就能越过权限空密码登录了,不过很多操作都受限了。重启mysql服务,输入cmd指令:
mysql -u root -p
回车空密码直接登录,然而输入如下指令,先是进入mysql数据库,继而设置root的密码,刷新权限,最后退出:
mysql> use mysql;
mysql> update user set authentication_string=password("新密码") where user="root";
mysql> flush privileges
mysql> quit
行云流水,一气呵成,重启一下mysql服务,就可以通过这个密码进入mysql。但试着使用一些简单的指令时,又出现如下的错误提示:
不清楚原理,大概是需要重新设置一下密码:
mysql> SET PASSWORD = PASSWORD("新密码");