win10安装mysql5.7教程
目录(安装流程):
- 一 、下载安装包
- 二、解压安装
- 三 、在安装目录新建mysql.ini文件
- 四 、配置环境变量
- 五 、管理员身份运行命令提示符cmd
- 六、命令行启动
- 七、设置密码
- 八、使用Navicat远程登录验证
- 九、破解密码
一、下载安装包:
下载链接:
http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.23-winx64.zip
二、解压安装:
将下载的安装包解压到指定目录,本文是将mysql-5.7的压缩包解压到D盘的mysql5.7目录
三、在安装目录新建一个名为my.ini的文件(先新建txt文件再修改后缀名即可)
本文安装目录:D:\mysql5.7\mysql-5.7.23-winx64
注意:这个data目录一开始没有(后面安装完自动生成的,忽略这个)
my.ini文件内容
[mysqld] #针对mysqld服务器端 # 设置端口3306 port = 3306 # 安装目录 basedir=D:\mysql5.7\mysql-5.7.23-winx64 # 设置mysql数据库的数据存放目录 datadir=D:\mysql5.7\mysql-5.7.23-winx64\data # 允许最大连接数 max_connections=200 # 服务器端使用的字符集默认为比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql] #针对mysql客户端配置 # 设置mysql客户端默认的字符集 default-character-set=utf8
参考:(还有其他配置选项)
#1. 针对客户端命令的全局配置,当mysql客户端命令执行时,下列配置生效 [client] #针对例如python通过代码连接mysql port=3306 default-character-set=utf8 user=root password=123 #2. 只针对mysql这个客户端的配置,2中的是全局配置,而此处的则是只针对mysql这个命令的局部配置 [mysql] ;port=3306 ;default-character-set=utf8 user=egon password=4573
四、配置环境变量
环境变量修改方法:
右击桌面计算机图标==>选择"属性"==>点击左侧"高级系统设置"==>框框上方选择"高级"==>点击右下角"环境变量"
1.新建系统变量:
变量名:MYSQL_HOME
变量值:D:\mysql5.7\mysql-5.7.23-winx64(MySQL安装目录)
2.编辑系统变量Path:
将%MYSQL_HOME%\bin添加到Path
五、管理员身份运行命令提示符cmd
命令提示符位置:
右击命令提示符:如下图选择
进入mysql安装bin目录,执行mysqld --install命令进行安装
#mysqld.exe --install是将mysql添加进系统服务
#mysqld.exe --remove将mysql从系统服务中移除
其中:mysqld.exe --install 还可以跟服务名
mysqld.exe --install 服务名 #将mysql添加进系统服务并设置服务名
注意:
有的人可能会弹出报错“提示由于找不到MSVCR120.dll。。。”
解决办法:
方法一:
(官网下载对应的VC redist packages,运行安装即可)
https://www.microsoft.com/zh-CN/download/details.aspx?id=40784
步骤:
1、
2、勾选对应包,点击Next
方法二:(如果方法一不行,可以尝试方法二)
软件连接下载安装,运行对应64位或32位
链接:https://pan.baidu.com/s/18mVoBQtW64M1oGy_0AfXOw
提取码:8h4a
复制这段内容后打开百度网盘手机App,操作更方便哦
执行mysqld --initialize-insecure --user=mysql,进行初始化操作
成功后,会生成data目录并生成root用户
六、命令行启动(依旧管理员身份运行cmd)
输入启动命令:net start mysql
启动服务:net start mysql
关闭服务: net stop mysql
注意:如果你不是管理员身份运行的cmd,那么执行命令会提示“发生系统错误 5”
七、设置密码
设置登录密码:
方法一:
""" mysqladmin -uroot -p原密码 password 新密码 改命令直接在终端输入即可 无序进入客户端 例子: mysqladmin -uroot -p123 password 123456 """
在第一次登录前设置密码:(以管理员身份进入cmd,到MySQL的bin目录下)
一般Mysql的root默认密码为空,如果你之前并没有设置过root密码就使用mysqladmin命令,你可以使用如下mysqladmin命令来修改root密码,,提示输入密码时直接回车,因为初始密码为空
D:\mysql5.6\mysql-5.6.37-winx64\bin>mysqladmin.exe -uroot -p password "123456"
Enter password:
方法二:(进入数据库后再改)
输入命令:mysql -u root -p (进入mysql)
设置mysql的密码:(上面命令进入数据库)
# 切换到mysql数据库 use mysql; #设置密码:password:新密码;user: 用户 update user set authentication_string=password('123456') where user='root'; # 刷新MySQL的系统权限相关表 flush privileges;
设置远程连接权限以及远程连接密码:
输入下面命令:
#进入Mysql -u:指用户; -p:登录密码 mysql -u root -p123456 # 切换到mysql数据库 use mysql; #设置user用户远程访问(%代表允许所有用户远程连接,'root'代表远程使用root用户登录,'123456'代表远程连接的密码) GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; # 刷新MySQL的系统权限相关表 flush privileges;
八、使用Navicat远程登录验证
九、破解密码
""" 你可以将mysql获取用户名和密码校验的功能看成是一个装饰器 装饰在了客户端请求访问的功能上 我们如果将该装饰器移除 那么mysql服务端就不会校验用户名和密码了 """ # 1 先关闭当前mysql服务端 命令行的方式启动(让mysql跳过用户名密码验证功能) mysqld --skip-grant-tables # 2 直接以无密码的方式连接 mysql -uroot -p 直接回车 # 3 修改当前用户的密码 update mysql.user set password=password(123456) where user='root' and host='localhost'; """ 真正存储用户表的密码字段 存储的肯定是密文 只有用户自己知道明文是什么 其他人都不知道 这样更加的安全 密码比对也只能比对密文 """ # 4 立刻将修改数据刷到硬盘 flush privileges; # 5 关闭当前服务端 然后以正常校验授权表的形式启动