windows安装mysql5.7.x

本文档提供了一步一步的Windows上安装MySQL5.7.x的详细过程,包括环境变量配置、my.ini文件创建、data文件生成、服务安装与启动、用户密码设置以及远程连接配置。在安装过程中可能会遇到的问题如缺少vcredist或my.ini编码错误也给出了解决方案。此外,还介绍了如何解决密码修改后无法登录的问题以及如何开启远程连接权限。
摘要由CSDN通过智能技术生成

转载自 https://www.cnblogs.com/zhangkanghui/p/9613844.html

一、安装包下载,教程附带5.7.25网盘下载

下载地址:https://dev.mysql.com/downloads/mysql/
在这里插入图片描述
在这里插入图片描述

二 、安装

2.1配置环境变量

变量名:MYSQL_HOME
变量值:D:\mysql-5.7.25-winx64
请添加图片描述

2.2创建my.ini

在 D:\mysql-5.7.25-winx64 目录下创建my.ini 内容如下:

[mysqld]
character-set-server=utf8
#绑定IPv4和3306端口
bind-address = 0.0.0.0
port = 3306
sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
default_storage_engine=innodb
innodb_buffer_pool_size=1000M
innodb_log_file_size=50M
# 设置mysql的安装目录
# basedir=D:\\mysql-5.7.25-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\\mysql-5.7.25-winx64\\data
# 允许最大连接数
max_connections=200
# skip_grant_tables
[mysql]
default-character-set=utf8
[mysql.server]
default-character-set=utf8
[mysql_safe]
default-character-set=utf8
[client]
port = 3306
default-character-set=utf8
plugin-dir=D:\\mysql-5.7.25-winx64\\lib\\plugin

2.3 生成data文件

以管理员身份运行cmd,进入D:\mysql-5.7.25-winx64\bin>下
执行命令:mysqld --initialize-insecure --user=mysql
作用是在D:\mysql-5.7.25-winx64\bin目录下生成data

可能出现的错误1:
请添加图片描述
出现这个问题是由于缺少 vcredist 导致,去官网下载,
地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=40784

可能出现的错误2:
请添加图片描述
出现以上错误原因可能是拷贝过来的my.ini文件编码格式为ut-8
解决办法 :将my.ini文件另存为ANSI格式
请添加图片描述

2.3 安装MySQL

继续执行命令:mysqld -install
请添加图片描述

2.4 启动服务

继续执行命令:net start MySQL
请添加图片描述

2.5 登录MySQL

登录mysql:(因为之前没设置密码,所以密码为空,不用输入密码,直接回车即可)
执行命令: mysql -u root -p
请添加图片描述

2.6 查询用户密码

切换到mysql数据库 > use mysql;
查询用户密码命令:mysql> select host,user,authentication_string from user;(如果控制台报错就手敲一遍)
请添加图片描述

2.7 设置(或修改)root用户密码

mysql> use mysql
请添加图片描述
错误操作,提别注意:下面这个修改密码的方式不正确,可能是因为版本问题。
不要这么操作:mysql> update mysql.user set authentication_string=(“123456”) where user=“root”;

请添加图片描述
正确修改密码操作如下:
mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;

请添加图片描述
执行命令:mysql> flush privileges;
作用:相当于保存,执行此命令后,设置才生效,若不执行,还是之前的密码不变
请添加图片描述

2.8 退出、再次登录

mysql>quit
mysql>mysql -uroot -p

三、密码修改错误问题解决

关于修改密码再次登录出现ERROR的解决方案:
错误:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
首先问题出现的原因在于可能是因为版本不同,命令有所差异。个人认为,其实无所谓了,最终问题解决了就是了。
如果你是按照上面的完整教程安装出现这种问题的解决方案:

1、所有东西都删除,然后重装,按照上面教程再来一遍;部分内容有更正。特别注意!

2、如果你之前装了,报错之后就一直放在那里,现在请严格按照下面步骤进行:

(1)、打开cmd,切换到mysql的bin目录下,输入命令net stop mysql,停止mysql服务;
请添加图片描述
(2)、打开mysql的安装目录,找到data文件夹,将其删除!
请添加图片描述

3、回到cmd命令窗口,输入mysqld -remove

请添加图片描述

4、接下来按照上面教程,从第二步生成data文件开始执行,一定要注意修改密码那里

mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;

四、远程连接

mysql默认不支持远程连接,需要手动对指定账号授权
进入mysql:执行授权语句

grant all on *.* to 'root'@'%' identified by '123456' with grant option;
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root'; 
FLUSH PRIVILEGES;

解释:
4.1、授权说明

1)原因是MySQL默认不支持远程连接,如果想远程访问,可以使用下面的方法来解决。
远程连接mysql数据库时出现如下提示信息:
"MYSQL CONNECT ERROR – 1130:Host ’202.43.**.**’ is not allowed to connect to this MySQL server"
在创建mysql账户时,限制连接账户远程登录。也就是说,除了当前mysql所在的安装服务器外,
其他的ip(主机)都是不允许访问的,即使你的用户名和密码是正确的。这时候就要修改用户的访问权限。

(2)首先是用root用户登录到mysql的安装主机,然后进入mysql:
mysql -u root -p
root是mysql的最高授权用户名,这时会提示你输入密码,正确输入密码后回车,进入mysql。回车
然后输入如下命令:
grant all on 数据库名.* to ‘数据库账户名’@’%’ identified by ‘密码’ with grant option; 回车
flush privileges; 回车

(3)回车注意:上面的单引号不能省,数据库名.* 表示要开放的数据库下所有表,如果该连接的所有数据库都要开放,
可以用 *.* 代替。'数据库账户名'@'%' 这里表示要开放的账户,百分号表示在任何主机都允许访问。
如果以上两步均显示 “Query OK, 0 rows affected (0.00 sec)”,
那么说明命令已经成功执行,现在就可以远程连接你的mysql数据库了。

4.2、单独授权

(1).如果想赋予所有操作的权限
  grant all on ... to 用户名......
(2).如果想赋予操作所有数据库的所有表的权限
  grant ... on *.* to 用户名......
(3).如果想赋予某个数据库的所有表
  grant ... on 数据库名称.'*' to 用户名...... ([ * ]两边一定要加单引号)
(4).如果想赋予某个数据库的某张表
  grant ... on 数据库名称.表名 to 用户名......
(5).如果想任何客户端都能通过该用户名远程访问
  grant ... on ... to 用户名@% ....... (要把IP地址改成[ % ])
(6).改完了以后一定要重新启动MySQL服务

4.3 、其他方式实现远程连接

用户会存到Mysql服务器上的user表中,所以下面的两种方法都可以解决这个问题:
1. 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,
更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host =%where user = ’root’;mysql>select host, user from user; 
mysql>flush privileges;
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO ’myuser’@’%’ IDENTIFIED BY ’mypassword’ WITH GRANT OPTION; 
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO ’myuser’@’192.168.1.3’ IDENTIFIED BY ’mypassword’ WITH GRANT OPTION;

五、windows下mysql常用命令:

cd c:\mysql-5.7.25-winx64\bin   进入到bin目录下
net stop mysql  停止mysql服务
net start mysql  开启服务
mysql -u root -p  登录mysql控制台

六、mysql5.7.25-win64网盘地址

链接:https://pan.baidu.com/s/1p24lwn1mB7Zk5UsV-xDv5Q 
提取码:wkmk 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值