今天在换到新的电脑系统时,需要重新安装Mysql,在下载了压缩包后,发现不能直接使用,花费很长时间搜索了多篇网上的说明后才将其装好,费时费力,故此处记录下安装步骤,防止自己再花费过多时间,也给遇到类似问题的人看看能否提供些许帮助。
下载
Mysql的压缩包下载地址为:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
的压缩下面是找到下载包的位置详情图
解压并配置
下载完后 我们获得了一个解压包,将其解压后会发现安装目录下没有my.ini文件,于是我将网友的my.ini文件复制了一份如下,其中要注意basedir和datadir两个值需要设置为你的mysql安装目录(本人的安装目录为D:mysqlmysql-5.7.24in),data文件夹如果不存在需要自己创建(或者在执行mysqld --initialize后会生成,但是自己创建的话需要保证data是空文件夹)
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:mysqlmysql-5.7.24
# 设置mysql数据库的数据的存放目录
datadir=D:mysqlmysql-5.7.24data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
以管理员身份运行cmd进入到解压后的文件夹目录下的bin文件夹,比如我的安装在D:mysqlmysql-5.7.24in
然后执行下列语句(#后面的内容为注释)
mysqld install
#在执行完上面的语句后 执行以下初始化语句(注意:是两个-)
mysqld --initialize
#执行上面的初始化命令后会生成data文件夹的内容,接下来就可以执行启动命令了
net start mysql
#执行完上述命令后,mysql服务应该就会正常启动了
#如果执行了启动命令后出现服务器无法启动则检查安装目录下的data文件夹是否有内容,没有的话则是初始化命令没有执行或者执行错误
启动并运行
启动服务后 就可以登录进mysql操作了:
一般的登录操作应该是以下操作,密码不用输入直接回车即可进入:
mysql -u root -p
ENter password:
但是此时我发现了一个问题,我的密码也被初始化了,而且找不到我的root用户的密码,这时候我们要跳过密码验证并修改自己的root用户密码,步骤如下:
1.先停止mysql服务(cmd为要以管理员身份运行):
net stop mysql
2.在my.ini的最后一行添加一行代码,用于跳过密码验证:
skip_grant_tables
3.再次启动服务并执行登录操作,输入密码时直接回车即可
4.执行以下两条语句修改你的密码(#为注释 无需输入)
#PASSWORD()是mysql的函数 用于将输入的密码加密
UPDATE mysql.user SET authentication_string=PASSWORD(‘新密码’)WHERE user=’root’ ;
flush privileges;
5.关闭服务并删除my.ini中的最后一行的skip_grant_tables语句
6.启动服务并执行登录操作,输入刚刚输入的密码即可,接下来就可以开始你的mysql之旅。
异常
在我修改完密码后 发现执行任何语句都会报以下错误:
mysql error You must reset your password using ALTER USER statement before executing this statement.
在我进行各种搜索后发现只需要改一次密码就可以使用了,执行以下语句
set PASSWORD = PASSWORD('你的密码');
#一般来说 执行了上述语句就可以了 如果还有问题,再执行以下两行代码,这两行是其他网友提供,本人尚未使用过
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;
才疏学浅,如文中有错误,感谢大家指出。