Windows版的服务器目前也有很多在使用的,这里写一下Windows 安装MYSQL5.7 详细教程
用的是虚拟机版的Windows Server 2016系统演示
想搭设一个虚拟机版的Windows Server 2016可以看这篇文章
目录
报错3:The service already exists!
一、准备安装包
官网下载:
历史版本地址:
MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/目前最新的是5.7.44,我这演示用5.7.38的版本,你们有要其他版本的,可自行下载对应的。
二、安装
1、解压
将下载的压缩包放到需要安装的路径上,解压了出来
2、配置环境变量
1.进入配置地址
右键此电脑→属性→高级系统设置→环境变量
2.新建变量
1)MYSQL_HOME
系统变量→新建
变量名:MYSQL_HOME
变量值:MYSQL目录
根据自己的实际路径填写
2)Path添加
添加内容:MYSQL目录下的bin目录或%MYSQL_HOME%\bin
注:这里新建后要输入一个值,不然浏览选中路径确认后,它会覆盖上面一条,而不会是新建一条
。如不小心覆盖了上面一条,点取消就行,再进去编辑
也可以直接手动填写,不用担心覆盖上一条
3、my.ini配置
进入mysql-5.7.38-winx64的文件夹下,配置my.ini,如果没有就创建。
内容:
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=
# 设置mysql数据库的数据的存放目录
datadir=\data
# 允许连接失败的次数
max_connect_errors=10
# 允许最大连接数
max_connections=200
#创建新表时使用的默认存储引擎
default-storage-engine=INNODB
#服务端使用的字符集默认为utf8
character-set-server=utf8
#mysql客户端默认字符集
[mysql]
default-character-set=utf8
4、启动
要以管理员身份运行命令提示符
#在命令提示符中要进入到安装目录下的bin目录下执行
E:
cd E:\mysql-5.7.38-winx64\bin
#命令依次执行
mysqld install
mysqld --initialize
net start mysql
#出现Service successfully installed,安装成功;出现Install of the Service Denied,说明没有以管理员权限来运行cmd:
5、登录修改
服务启动成功后,在MYSQL的data目录下,有一个后缀是.err的文件,右键打开它,然后ctrl+f 搜索root@localhost后面接的就是初始密码(初始密码不同的,填查到的就行)
[Note] A temporary password is generated for root@localhost: pqmTd6O>Q.v<
#打开cmd窗口(命令运行窗口)执行命令
mysql -u root -p
#更改密码,password写自己的
alter user root@localhost identified by 'password';
#测试
quit
mysql -u root -p
navicat测试
6、配置远程连接
mysql -u root -p
#配置远程连接
use mysql;
update user set host='%' where user='root';
#刷新才生效
flush privileges;
开一下Windows自带的防火墙权限
电脑主机连虚拟机数据库测试
三、报错处理
报错1(这个和2的一起):丢失 MSVCR120.dll
无法启动此程序,因为计算机中丢失 MSVCR120.dll。尝试重新安装该程序以解决此问题
报错2:丢失 MSVCP120.dll
无法启动此程序,因为计算机中丢失 MSVCP120.dll。尝试重新安装该程序以解决此问题
这个去微软官网下载一个Microsoft Visual C++ Redistributable安装就行
双击安装
报错3:The service already exists!
The service already exists!
The current server installed: E:\mysql-5.7.38-winx64\bin\mysqld MySQL
出现The service already exists,这是由于之前已经安装过mysql并且没有删除干净;
#以管理员身份运行输入,查看一下名为mysql的服务
sc query mysql
发现之前确实有安装过,删除即可
#删除该mysql;
sc delete mysql
报错4:无法登录
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
这个主要用于解决初始密码无法登录的,或忘记密码了
#停止MySQL服务,打开cmd窗口(命令运行窗口)执行命令
net stop mysql
#编辑my.ini,在[mysqld]下面的任意一行添加skip-grant-tables,保存
skip-grant-tables
#启动MySQL,打开cmd窗口(命令运行窗口)执行命令
net start mysql
#登录不需要输入密码,直接回车
mysql -u root -p
#进入数据库
use mysql;
#更新密码,("password")这里面写你们的密码
update user set authentication_string=password("password") where user="root";
#退出
quit
#停止MySQL服务,打开cmd窗口(命令运行窗口)执行命令
net stop mysql
#编辑my.ini,把在[mysqld]下面的任意一行添加的skip-grant-tables给删了,保存
#启动数据库
net start mysql
#这样就可以正常使用了
mysql -u root -p