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.”:
这是因为之前未正确配置参数就执行了mysqld的命令,结果在data目录下留下了脏数据。把data目录清空,重新执行即可成功。注意生成的临时密码。
4:将mysql的安装目录下的bin目录加到path里面。
5:将mysql服务加到windows的服务管理里面。命令:
mysqld install
6:启动msyql服务。但是这个时候总是报错,提示“发生系统错误2”:
找了半天没找到原因。尝试着重新install一下,发现了问题:
mysqld的文件目录跟实际的不符。原因不明。将服务删除重新加,就可以重新启动了:
mysqld -remove MySQL
7:登录数据库,设置root密码。这个时候一直登录不了,没有权限。
解决办法:(1)停止mysql服务;(2)在my.ini中添加skip-grant-tables;(3)重新启动mysql。
这样就可以免密码登录mysql(此时提示输入密码时,直接回车):
重置root密码成功:
8:去掉my.ini配置文件中的skip-grant-tables,重启数据库。用新密码登录成功:
9:但此时操作受限,一直提示“You must reset your password using ALTER USER statement before executing this statement”来重置密码,但是重置的时候一直提示没有权限,死循环:
最终在登录mysql数据库后,用set password=password("[email protected];"); 设置密码成功,访问正常。
注意,登录mysql数据库,是指MySQL的内置的数据库。用root账户登录的时候就是连到这个数据库。