Mysql-5.7-community-win64压缩包版安装教程
概述
之前一直在用5.6的数据库,最近在准备新项目,想尝试一些5.7的新特性,记录一下Mysql5.7的安装方法。Mysql各版本的安装有些许的差异,比如我用参考5.6的安装教程安装5.7,试了几次都没有用,最后参考了很多教程后,找到了一个比较合理的流程。按照这个流程走,即使出现了问题,也比较容易排查。
1.下载Mysql
如果外网访问比较快的话,推荐去官方网站下载:
下载地址:https://dev.mysql.com/downloads/mysql/
要下载5.7版本,首先要点击按钮选择下载之前的版本。
根据自己的系统选择合适的安装包,我这里是64位windows系统,选择好之后点击下载就可以了。友情提示,如果直连的话访问Mysql官网是非常慢的,建议搭个梯子什么的。
当然,也可以选择去国内镜像下载,比如我选的是这个镜像:
http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/
选择Mysql-5.7
一般镜像都会有很多版本,选择自己需要就可以。
当然,如果是学习需要,甚至可以直接百度一个,比如我就随手百度到了一个,好像还真的可以用。
https://dev.mysql.com/downloads/mysql/
下载完成后,得到一个300M左右的压缩包。
把下载好的文件解压到安装目录下,我的是E:\infrus\mysql\mysql-5.7.29-winx64,然后就可以开始Mysql的安装与配置了
2.Mysql配置
1.Mysql环境变量配置
系统——>高级系统设置——>环境变量——>系统变量
添加一个名为MYSQL_HOME的变量,变量值为刚才的刚才的下载目录E:\infrus\mysql\mysql-5.7.29-winx64
配置Path变量,添加**%MYSQL_HOME%\bin**,这里其实也可以直接使用绝对路径E:\infrus\mysql\mysql-5.7.29-winx64\bin这么做是为了以后管理数据库版本会方便一些。
2.创建Mysql配置文件
这一步各个版本都不太相同,有的版本似乎会自动创建,有的不会。这里我还是选择自己创建一个ini文件。
在Mysql的安装目录E:\infrus\mysql\mysql-5.7.29-winx64下创建my.ini文件,文件内容为:
[mysqld]
#端口号
port = 3306
#mysql-5.7.27-winx64的路径
basedir=E:\infrus\mysql\mysql-5.7.29-winx64
#mysql-5.7.27-winx64的路径+\data
datadir=E:\infrus\mysql\mysql-5.7.29-winx64\data
#最大连接数
max_connections=200
#编码
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
explicit_defaults_for_timestamp=true
[mysql]
#编码
default-character-set=utf8
第一次配置的话,只需要修改basedir和datadir的值就可以了,datadir是数据库文件的存放位置,我的习惯是放在mysql安装目录的data文件加下,这个文件夹是会在后面自动创建的。
3.安装Mysql
mysql的安装需要在cmd下进行,在搜索栏输入cmd,然后右键点击以管理员身份运行。
进入到安装目录下输入mysqld -install
。出现 Service successfully installed
说明执行成功
继续输入mysqld --initialize
,此时不会有任何提示信息。这一步执行结束后,Mysql已经可以正常使用了。
输入启动命令net start mysql
,出现启动成功等字样 说明mysql已经成功启动了
4.配置mysql密码
上一步我们已经成功安装了Mysql,接下来需要配置一下用户的密码。如果自己的密码忘记了也可以通过类似的方法重新设置。
-
停止Mysql服务,输入
net stop mysql
-
找到之前配置的my.ini文件,位于E:\infrus\mysql\mysql-5.7.29-winx64下。在**[mysqld]**字段下任意一行添加
skip-grant-tables
,让mysql不对登录的用户进行校验 -
输入重启服务
net start mysql
-
输入
mysql -u root -p
然后直接回车,这个时候可以直接进行数据库。接下来就可以开始修改密码啦。
-
输入
use mysql
进行mysql系统数据库 -
输入更新语句
update user set authentication_string=password("123456") where user="root";
这里123456
就是设置的新密码。若出现以下信息,说明修改成功 -
输入
quit
退出mysql,然后net stop mysql
关闭数据库 -
修改完密码后,我们把刚才添加的
skip-grant-tables
从my.ini中删除,然后net start mysql
再次启动mysql -
这次再输入命令
mysql -u root -p
,然后输入正确的密码 -
成功进入mysql,但是别急,如果这个时候输入
use mysql
,会发现失败,提示需要修改密码,没关系我再使用alter命令修改一下密码。alter user user() identified by "123456";
,123456就是我的数据库密码。(这里我改的是qwer)
修改完成后再次输入use mysql
成功啦~这样一个新鲜出炉的mysql-5.7就配置好啦!
小结
之前一直偷懒不想写博客,没想到第一次写竟然是被Mysql的安装给逼疯了,真的装了太多次Mysql了,但是每次都感觉要捣鼓一会儿才能成功,就不是很顺畅。实在受不了了,希望以后遇到这样的坑可以很快解决~
常见问题:
1.Install/Remove of the Service Denied!(安装/卸载服务被拒绝)
打开CMD的时候没有使用管理员身份
2.安装后无法登陆ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
可以修改密码的步骤重置密码
3.执行mysqld --initialize
时** [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).**
原因是没有在my.ini文件中配置explicit_defaults_for_timestamp=true
这里Mysql做的感觉就没那么棒了。完全是版本问题了,在5.6的时候是不需要配置的,然后5.6又需要配置其他东西,所以大家搜教程的时候一定要看好版本号。