win10解压安装mysql方法及遇见的问题(缺少MSVCR120.dll文件、服务无法启动)

WIN10系统MYSQL的下载与安装详细教程

第一步:下载MySQL

下载地址:https://dev.mysql.com/downloads/mysql/5.1.html#downloads 

 

具体过程如下: 
1.选择要下载的类型,64位还是32位:

 

*点击download后就会到下图的下载界面,这时最显眼的是sign up,有些人会觉得需要先注册账号才能下载,点击图中红色的,直接免注册下载。平时再下载JDK等东西的时候,也是可以免注册下载的

 

2.解压并安装Mysql

(1)将下载的包解压到指定的路径,自己可以指定路径,我直接解压到了D盘

我的Mysql包的完整路径为:D:\mysql\mysql-5.7.22-winx64

(2)配置环境变量: 
新增系统环境变量: 
键名:MYSQL_HOME 

值为:D:\mysql\mysql-5.7.22-winx64

接着再Path中添加:%MYSQL_HOME%\bin 

 

(注意:如果你是一个没有配置过环境变量的小白,再次特别提醒,不要删除任何东西,只需再原来的后面加上分号,然后加上自己要配置的环境变量就可以了)

 

3.完成上面这些后,准备my.ini文件

 

以前的版本解压之后,目录下会有一个my-default.ini或my.ini文件,但是5.7.18版本以后,解压后,就不带这个文件了,这时我们就要手动创建好my.ini文件,然后放置到指定的目录下。

 

1)新建文本文档(就是打开记事本),然后,改名字位my-default或my这两个名字都可以。将下面的内容粘贴进去记事本。 

####################################################

    [client]

    port=3306

    default-character-set=utf8

    [mysqld]

    port=3306

character_set_server=utf8

 

    basedir=D:\mysql\mysql-5.7.22-winx64

#解压目录

 

    datadir=D:\mysql\mysql-5.7.22-winx64\data

    #解压目录下data目录  

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    [WinMySQLAdmin]

    Dmysqlmysql-5.7.22-winx64binmysqld.exe

####################################################

 

2)完成上面的操作后,我们放在记事本,其后缀名还是.txt,这个时候我们需要修改文件后缀名,将其后缀名改为.ini 

 

( 3 )建立好my.ini文件后,将其复制粘贴到D:\mysql\mysql-5.7.22-winx64\bin,及放到mysql所在的bin目录下。

 

4.使用管理员身份打开命令提示符,win10系统下,点击开始,然后输入cmd,鼠标右击cmd,选择以管理员身份运行或者直接右键开始菜单,选择以管理员身份运行

 

5.切换目录至mysql包所在的bin目录。然后输入 mysqld.exe -install 

 

 

执行命令后,提示:Service successfully installed. 表示安装成功.

 

可是我在这一步的执行中遇到问题,提示缺少MSVCR120.dll文件

 

解决办法:

网上搜到的第一个方案就是,下载一个MSVCR120.dll然后,放到C盘windows,system32的目录下面,后来我还是解决问题,我同学是win7的系统,她这样做觉得问题了,我是win10就没法这样解决,也试了其他觉得方法,还是不行,卡了好久。 

下面这个回答还是可取的: 

呵呵,vc++已经更新到了2015版,msvcp类文件的版本号刷到了140,而大部分解决方案还在用不知道哪个年代就开始祖传的复制货,又是95又是Me的,特么现在还有人用Windows 95系统?敢不敢复制粘贴之前自己试一试?敢不敢修改一下把祖传了十年的答案加上Windows8.1、Windows10? 

在此强烈建议大家抵制不论什么dll都只会下载这个文件丢到系统盘,然后打开cmd用regsvr命令注册的蠢办法,这完全是撞大运。 
  有些人试了下上面的办法可能觉得有用,认为我危言耸听。那只是你运气好,瞎猫碰到死耗子。如果64位系统按照他的说法去把dll文件放到syswow64里,而你要打开的软件或游戏却是个32位程序,你看看是不是有用。即使版本对应,你光下载这个dll也未必有效,因为你并没有安装vc++运行库,有些软件是必须完整安装VC++运行库才能运行的。

 

 

另: 
msvcp、msvcr、vcomp140.dll属于VC++2015版 
msvcp、msvcr、vcomp120.dll属于VC++2013版 
msvcp、msvcr、vcomp110.dll属于VC++2012版 
msvcp、msvcr、vcomp100.dll属于VC++2010版 
msvcp、msvcr、vcomp90.dll属于VC++2008版 
msvcp、msvcr60、71和80.dll,以及vcomp.dll(不带数字版本号)属于VC++2005版 

除了丢失、缺少这类错误之外,如果一个程序打开之后提示“并行配置错误”,那么也是因为没有安装VC++运行库。

出现这种情况,而你又不知道应该安装哪个版本,一个个试起来又觉得太麻烦的话,建议百度搜DirectX Repair V3.5 增强版,这个工具是会在检测修复DirectX的同时顺便安装所有版本的VC++运行库的,也能解决msvcp之类的丢失问题。注意,必须是增强版,标准版、在线版没有VC++。 

 

因为我缺少的是msvcr120.dll,所以我下载的是Visual C++ Redistributable Packages for Visual Studio 2013,这个东西就几兆,很小,下载后已安装就可以了。

下载地址:https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=40784 

 

 

安装成功后,再按照上面的步骤,切换到mysql包所在的bin目录下后,再输入mysqld -install然后回车。

 

就能看到Service successfully installed.提示

 

6.初始化mysql数据,并创建一个具有空密码的root用户,打开cmd执行如下命令: 
mysqld –initialize-insecure –user=mysql 

注意:最后的参数 –user=mysql 在 windows 也可以不用添加,但在 Lunix 等系统下好像很重要。 

执行命令后,等一会后,系统会自动生成相应的 data 目录,并自动创建好空密码的 root 用户。此时表示初始化成功。

 

7.在cmd,也叫命令提示符中,输入下面的命令,启动mysql服务。 

net start mysql 

 

执行后,提示: 
MySQL服务正在启动.. 
MySQL服务已经启动成功。

 

注意:要想登录使用 mysql,服务是必需要先启动的。以后也一样 

 

 

如果这时候提示:

Mysql无法启动服务

服务没有报告任何错误


 

此时去检查my.ini文件,ini文件里的配置信息错误,

如果data文件也没生成,那么去ini文件里检查相应的配置信息行,查看datadir后的地址是否正确

注:最好是直接复制粘贴信息,然后把解压目录、解压目录下的data目录地址改为自己的。

 

此时再去执行mysql --initialize命令

解压目录下会初始化生成一个data文件夹

 

接着执行命令:net start mysql

 

启动成功!

 

接下来,就是登陆mysql

mysql -u root -p

直接回车,因为没有初始密码,进去之后一定要去先改密码,要不然会生成随机密码,第二次就进不去了

5.7.9设置密码的方式有一些变化,老版本密码是保存在mysql数据库user表的password中,而5.7.9的password字段变为了authentication_string,直接sql命令更改其值,再重启mysql服务即可!

依次执行命令如下(设置密码为123456):

use mysql;

update user set authentication_string="123456";

exit;

net stop mysql;

net start mysql;

mysql -u root -p

[输入密码]

==========================分界线=====================================

刚安装好后,按道理是没有root密码的,但是我这就是有密码,而且我还不知道密码,显示如下:

D:\>mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

 

D:\>mysql -u root -p

Enter password: ******

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

 

处理方法是在my.ini 文件里[mysqld]下面添加一句:skip-grant-tables

 

数据库启动的时候 跳跃权限表的限制,不用验证密码,直接登录。

net stop MySQL 关闭数据库服务,然后net start MySQL 打开,

如果执行关闭命令,提示无法访问,那么切换管理员账户执行。

 

这个时候在登录就不需要密码了,显示如下:
D:\>mysql -u root
Welcome to the MySQL monitor. ......

 

 

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/duan__i18n/article/details/80696512
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭