第一步:到官网下载https://dev.mysql.com/downloads/mysql/
windows下安装mysql

第二步:解压到一个文件夹
windows下安装mysql

第三步:配置环境变量
把;%MYSQL_HOME%\bin插入到Path的最后面
windows下安装mysql

第四步:以管理员的身份运行命令行,按win+R 输入cmd,点鼠标右键以管理员身份运行
windows下安装mysql

第五步:进入到E:\mysql-5.7.22-winx64\bin
重点来了:在dos窗口里面输入:mysqld --initialize-insecure 或者 mysqld --initialize-insecure --user=mysql
注意,有的教程里写接下来自己创建名为data的空文件夹,然后创建my.ini的文件,这是错误的,因为自己动手建的data文件夹里没有mysql启动所需要的表结构配置文件,因此要先初始化,输入以上命令,初始化完看一下mysql的文件夹里会发现多出了一个名为data的文件夹,注意data文件夹是系统创建的,不是自己手动创建的,运行需要几秒钟,dos

初始化数据:
windows下安装mysql
初始化完后会看到data文件夹下有mysql表结构:
windows下安装mysql

在初始化后生成的data目录下创建my.ini的文件:
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port=3306
#设置mysql的安装目录
basedir=E:\mysql-5.7.22
#设置mysql数据库的数据的存放目录
basedir=E:\mysql-5.7.22-winx64
datadir=E:\mysql-5.7.22-winx64\data
#允许最大连接数
max_connections=200
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

dos窗口中再输入:mysqld -install(如果说已经存在,可以使用 sc delete mysql 或者 mysql -remove 将其删除)
会显示Service successfully installed:
windows下安装mysql

5.dos窗口中再输入:net start mysql 或者: mysqld --user=mysql #启动mysql服务

windows下安装mysql

或者从第五步开始%MYSQL_HOME%\bin\mysqld --initialize --user=mysql --console
第六步注册服务mysqld --install MySQL
用net start mysql 命令开启服务
关闭服务:net stop mysql
删除没有用的服务:sc delete 服务名字 例如:删除mysql的服务,sc delete mysql

6.在计算机-管理-服务和应用程序-服务中可以看到MySQL已经启动,或者快捷键查看services.msc
windows下安装mysql

7.登录mysql数据库,初始化的时候跳过了密码,所以默认这没有密码,输入回车,即可登录数据库
windows下安装mysql

8.修改密码和授权
windows下安装mysql

注意:
update mysql.user set authentication_string=password('newpwd'),password_expired='N' where user='root';
修改密码并修改过时策略(字段名和mysql 5.6略有不同,5.6的:update user set password = password('newpwd'),password_expired='N' where user = 'root';)

grant all on . to root@'%' identified by 'newpwd' with grant option;
flush privileges;#记得刷新

9.重启mysql服务端,输入正确的密码即可登录mysql
windows下安装mysql

10.查看字符编码5.7的默认为ladin
windows下安装mysql

11.基本的操作命令
查看数据库和表:
show databases; //所有数据库列表
create database dbName; //创建数据库
use dbName; //选择数据库
show tables; //显示数据表列表
查看数据表中的条目:
desc tableName;
describe tableName;
show columns from tableName;
show create table tableName;
清空数据表中所有条目:
truncate table 表名; //清空全部数据,不写日志,不可恢复,速度极快
delete from 表名; //清空全部数据,写日志,数据可恢复,速度慢