服务器安装Mysql8.0.13并解决msvcp140.dll错误

  • 环境介绍
  • 官网下载MySql
  • 配置my.ini文件
  • 初始化MySql
  • 错误解决
  • 安装mysql
  • 启动mysql
  • 连接mysql,并自定义密码
  • navicat连接mysql
  • 导入数据库
  • navicat远程连接


环境介绍

服务器:winserver2016
需求:安装mysql数据库

官网下载MySql

mysql官网下载地址

mysql安装出现msvcr120dll_mysql


下载图中描述文件,并copy到服务器上。

配置my.ini文件

在服务器上对下载的压缩包进行解压,解压目录为你所要安装mysql的目录。解压完成后是没有my.ini文件的。这时你需要自己创建初始化my.ini文件并对其内容进行如下填充。

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\programs\MySql
# 设置mysql数据库的数据的存放目录
datadir=D:\programs\MySql\Data
# 允许最大连接数
max_connections=500
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

如果不是8.0之后版本的,需要手动创建代码中所设置的两个文件夹,不然初始化时会出现找不到文件夹的情况而导致初始化失败。

初始化MySql

使用管理员模式启动命令行,进入mysql的安装目录下的bin文件夹。文件如下,其中有个名为mysqld的文件。

mysql安装出现msvcr120dll_服务器_02


在命令行进入bin目录后,执行如下初始化指令。

mysqld --initialize --console

正常执行结果如下:

mysql安装出现msvcr120dll_服务器_03


会出现如上图显示的代码字段,root为用户名,localhost后面为登录密码。

错误解决

但是往往事情不会那么简单,安装时许多用户会和我安装时一样出现msvcp140.dll错误,没有这个dll文件。也就是缺少VC++2015版本运行库导致。直接将这个dll文件下载放在c盘对应目录下也不能正常执行。最终解决办法:
下载目标文件,选择服务器对应的版本,我的是64位的所以下载带x64的exe文件,如果是32位则下载带x86的exe文件。然后copy到服务器进行安装,安装完成重新进行初始化操作即可。

安装mysql

在初始化完成后,执行如下操作。

mysqld --install

如果出现如下提示:

Service successfully installed

则表示安装成功。
如果之前安装过的则会出现

The service already exists!
The current server installed: D:\programs\MySql\bin\mysqld MySQL

如果要删除之前的mysql,则继续执行指令

sc delete mysql

运行结果为

[SC] DeleteService 成功

然后执行安装指令

mysqld --install

出现如下提示

Service successfully installed

则表示安装成功。

启动mysql

在mysql安装成功后,执行如下启动服务指令

net start mysql

这里的mysql可以在mysqld --install的时候指定,如

mysqld --install my_mysql

那么启动时就可以用自己指定的服务名进行启动,如果未设置时,则默认为mysql。

连接mysql,并自定义密码

在安装目录的bin目录下,通过命令行执行如下指令

mysql -u root -p

然后输入初始化时系统生成的密码

mysql安装出现msvcr120dll_服务器_03


这个很难记,但是也木有办法,只能直接一个个照着敲进去。然后回车

出现如下结果则代表登录成功,否则重新输来一次,重新输入密码咯。

mysql安装出现msvcr120dll_数据库_05


登录成功后,执行如下指令修改密码。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';

替换newpassword为你要设置的密码即可。
修改成功后,退出系统。

exit;

navicat连接mysql

去navicat官网下载对应系统对应的版本,然后在服务器上进行安装,安装完成后就可以打开进行连接操作了。这个软件很强大,具体的功能需要自己去摸索,但是知道怎么使用它来管理数据库足以。

安装完成后启动,然后新建mysql连接。

mysql安装出现msvcr120dll_初始化_06


输入之前设置的用户名和密码之后即可连接上mysql数据库服务了。

导入数据库

这个功能一般针对于已有数据库的情况,将数据库导出为sql文件后即可备份该数据库的数据信息。打开该文件后可看到里面对应的sql指令。
1.首先创建数据库,需要名字保持一致并选中。
2.将导出的数据库文件拖到navicat软件面板,就可以进行导入操作了。导入完成后就可以查看到一个有数据的数据库了(此句是废话)

navicat远程连接

MySQL8.0 安装完成后出现无法远程连接的现象,这是因为MySQL8.0只支持 localhost 访问,我们必须设置一下才可以远程访问。

具体设置步骤如下:

① 登录MySQL

执行命令为:mysql -u root -p

回车后输入密码

② 选择 mysql 数据库

执行命令为:use mysql;

查看mysql 数据库中存储的用户信息的 user 表。

③ 查看mysql 数据库的 user 表中当前 root 用户的相关信息

执行命令为:select host,user,authentication_string,plugin from user;

执行完命令后显示一个表格, root 用户的 host默认显示的 localhost,说明只支持本地访问,不允许远程访问。

④ 更改 host 的默认配置

执行命令为:update user set host=’%’ where user=‘root’;

⑤ 刷新

执行命令为:flush privileges;

上述步骤完成之后,用 Navicat 进行远程连接即可。当然服务器和控制台的3306端口必须得打开才能远程连接。