一、前言
一般来说mysql的安装有两种方法
(1)下载.msi文件,界面安装
(2)下载.zip压缩包命令行安装
第一种方法很简单,但是bug也多,最多的就是最后一步中start service失败,一般来说造成这种情况的原因是多次重复安装或者之前安装过,没卸载干净就再次安装,但是完全卸载干净mysql很不容易,这里有一些参考文章,我都试过,后来安装不上放弃了,选择第二种。
参考文章:
https://blog.csdn.net/bobo553443/article/details/81383194(安装全过程)
https://blog.csdn.net/weixin_39648430/article/details/113169010(完全卸载,下同)
https://blog.csdn.net/weixin_46218781/article/details/105372231?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-7.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-7.control
二、zip解压方法安装
目前官网上的MySQL版本有5.5,5.6,5.7和8,在开发的时候我们一般要选择比最新版低1到2个版本的,因此我选择了5.7.34作为要安装的数据库。
1、下载安装包
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
然后下载即可。
2、下载完成后将压缩包放在想要安装的盘中,记得避免中文路径,这里我放在D盘下,解压到同名文件夹,下面是我的位置:
3、配置环境变量
系统—>高级系统设置—>环境变量—>系统变量---->新建
或者我的电脑图标处右键选择属性,右侧下拉找到高级系统设置也可
名为:MYSQL_HOME,添加你的mysql-5.7.27-winx64文件夹所在位置。
我的是在D:\mysql-5.7.34-winx64\mysql-5.7.34-winx64,如图:
接下来编辑Path,复制
;%MYSQL_HOME%\bin
到原有值的后面,如图:
4、配置my.ini文件
在你的mysql-5.7.34-winx64目录下新建my.ini文件,我的是在D:\mysql-5.7.34-winx64\mysql-5.7.34-winx64目录下新建,这两个路径记得更换成自己的,复制my.ini文件的内容为:
[mysqld]
#端口号
port = 3306
#mysql-5.7.27-winx64的路径
basedir=D:\mysql-5.7.34-winx64\mysql-5.7.34-winx64
#mysql-5.7.27-winx64的路径+\data
datadir=D:\mysql-5.7.34-winx64\mysql-5.7.34-winx64\data
#最大连接数
max_connections=200
#编码
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
#编码
default-character-set=utf8
创建完成后即开始安装mysql。
5、安装MySQL
(1)在输入框内输入cmd,以管理员的身份运行,注意这里一定一定一定要以管理员的身份运行,否则在安装过程中会出现因为管理权限不够而导致的Install/Remove of the Service Denied!(安装/卸载服务被拒绝),这一点非常重要!
(2)在cmd中进入到D:\mysql-5.7.34-winx64\mysql-5.7.34-winx64/bin目录下:
分别输入:
D:
cd D:\mysql-5.7.34-winx64\mysql-5.7.34-winx64/bin
(3)下载安装mysql
mysqld -install
(4)这里有一个问题,上面的路径中我们看到有一个是data文件的路径,但是我们下载的安装包里可以发现并没有data这个文件夹,所以我们需要先初始化创建这个文件夹,否则直接安装启动mysql会出现error,执行下面命令:
mysqld --initialize-insecure --user=mysql
再去文件夹里寻找发现,已经有data文件夹了,而且里面有很多文件。
(5)再输入启动命令,出现以下提示证明MySQL启动成功:
net start mysql
6、设置MySQL密码
在这里的密码设置主要是为了解决:
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using passwor:yes)
的问题。
正常情况开始的时候默认是没有密码的,但是这里由于我之前看百度的一些教程执行过
mysqld --initialize --console
按照他的说法会生成一个随机密码,但是我用这个密码试过,一直报上面两个错,所以现在需要用一些方法先启动mysql,再考虑后面重新设置密码等操作:
(1)在D:\mysql-5.7.34-winx64\mysql-5.7.34-winx64目录下找到my.ini,在[mysqld]字段下任意一行添加skip-grant-tables,保存即可:
(2)关闭这个cmd窗口重新打开,重启MySQL,重启方法我用的是win+r键,输入services.msc,打开后找到mysql,右键选择重启即可。
(3)在cmd窗口中输入启动命令:
net start mysql
出现以下提示证明MySQL启动成功:
(4)在输入命令mysql -u root -p,不需要输入密码,直接回车:
以上结果则启动成功,安装就算成功了。松口气。
7、设置密码
(1)输入命令行use mysql,进入数据库。
(2)输入命令行update user set authentication_string=password(“xxxxxx”) where user=“root”;xxxxxx是你设置的新密码,敲击回车后若出现以下信息,证明修改成功!
(3)手动停止MySQL服务,打开任务管理器,选择服务,找到MySQL。点击右键,然后点击停止即可。
然后在刚刚的my.ini文件中删除skip-grant-tables这一行,保存关闭。
(4)再次启动cmd(管理员身份),输入启动命令:net start mysql,再输入mysql -u root -p,再输入你刚刚设置的密码,出现以下信息证明设置成功!
然后输入命令行use mysql验证一下,结果报错:
意思是没有重置密码,那就再重置一下:
键入命令行alter user user() identified by “xxxxxx”;我的密码是0522,因此我键入
alter user user() identified by "0522";
再次输入命令行use mysql验证一下,成功!
2021.08.30晚添加:
看过韩顺平的视频学到,设置完密码后,需要刷新一下权限,这样才不会导致后面最后一步报错:
flush privileges;
2021.8.31早添加;
与数据库配套使用的两个界面化软件:
navicate和sqlyog,前者15天内免费,后者始终免费,这里我选择sqlyog。
安装教程:
https://blog.csdn.net/weixin_43724203/article/details/108658723