MySQL(一):Windows下安装

1:从 https://downloads.mysql.com/archives/community/ 下载5.7.29的免安装社区版

2:解压到电脑的目录,然后配置my.ini文件(在5.7.29的zip包里面没有这个文件的模板):

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

[mysqld]
#设置MySQL服务端的监听端口
port=3316
# 设置mysql的安装目录
basedir=D:\Programs\mysql-5.7.29
# 设置mysql数据库的数据的存放目录
datadir=Y:\02_data\mysql-5.7.29
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为UTF-8字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

3:以管理员权限打开cmd,输入下面的命令 初始化数据库

mysqld --defaults-file=D:\Programs\mysql-5.7.29\my.ini --initialize --console

这个地方报错了,提示“--initialize specified but the data directory has files in it. Aborting.”:

MySQL(一):Windows下安装

这是因为之前未正确配置参数就执行了mysqld的命令,结果在data目录下留下了脏数据。把data目录清空,重新执行即可成功。注意生成的临时密码。

MySQL(一):Windows下安装

 

4:将mysql的安装目录下的bin目录加到path里面。

5:将mysql服务加到windows的服务管理里面。命令:

mysqld install

MySQL(一):Windows下安装

 

6:启动msyql服务。但是这个时候总是报错,提示“发生系统错误2”:

MySQL(一):Windows下安装

找了半天没找到原因。尝试着重新install一下,发现了问题:

MySQL(一):Windows下安装

mysqld的文件目录跟实际的不符。原因不明。将服务删除重新加,就可以重新启动了:

mysqld -remove MySQL

MySQL(一):Windows下安装

 

MySQL(一):Windows下安装

 

7:登录数据库,设置root密码。这个时候一直登录不了,没有权限。

 

解决办法:(1)停止mysql服务;(2)在my.ini中添加skip-grant-tables;(3)重新启动mysql。

这样就可以免密码登录mysql(此时提示输入密码时,直接回车):

MySQL(一):Windows下安装

 

重置root密码成功:

MySQL(一):Windows下安装

 

8:去掉my.ini配置文件中的skip-grant-tables,重启数据库。用新密码登录成功:

MySQL(一):Windows下安装

 

9:但此时操作受限,一直提示“You must reset your password using ALTER USER statement before executing this statement”来重置密码,但是重置的时候一直提示没有权限,死循环:

MySQL(一):Windows下安装

最终在登录mysql数据库后,用set password=password("[email protected];"); 设置密码成功,访问正常。

注意,登录mysql数据库,是指MySQL的内置的数据库。用root账户登录的时候就是连到这个数据库。