为什么要用压缩包的方式安装MySQL
直接采用安装包的方式直接进行安装,在卸载的时候会麻烦,因为以这种方式,MySQL会直接走windows的注册表,会很难清理。为了避免后续问题,建以使用压缩包的方式来安装。
详细安装步骤
1、官网下载压缩包
点击该链接进入官网下载
压缩包如图所示:Windows (x86, 64-bit), ZIP Archive
2、解压压缩包并记住解压路径
比如我的压缩包解压路径为:D:\Program Files\mysql-8.0.19-winx64
注意:刚解压压缩包的时候,里面并没有data目录和my.ini文件,这是后面配置的时候加入的
3、设置环境变量
将MySQL的bin目录添加到系统的path路径
在里面添加如下内容,该路径为MySQL的解压路径下的bin路径。
D:\Program Files\mysql-8.0.19-winx64\bin
4、新建my.ini文件并编辑
注意,是在MySQL的解压路径下新建my.ini文件,并将如下代码拷贝进去
basedir和datadir的这一部分:注意:【D:\Program Files\mysql-8.0.19-winx64\】替换为自己的MySQL的解压路径
[mysqld]
basedir=D:\Program Files\mysql-8.0.19-winx64\
datadir=D:\Program Files\mysql-8.0.19-winx64\data\
port=3306
shared-memory
skip-grant-tables
5、管理员模式下打开CMD,并进入MySQL的bin目录
注意:以管理员模式运行CMD
打开以后切换到自己MySQL的bin目录下:
比如我的MySQL的bin目录为:
D:\Program Files\mysql-8.0.19-winx64\bin
对应的切换的指令为:
cd /D D:\Program Files\mysql-8.0.19-winx64
6、安装MySQL
在CMD中执行如下命令安装MySQL
mysqld -install
7、初始化数据库文件
mysqld --initialize-insecure --user=mysql
mysqld --initialize-insecure --user=mysql执行完以后多了一个data文件夹
8、启动Mysql服务
net start mysql
-
遇到的错误
启动MySQL时遇到的问题
这么解决的,点击该链接查看
- 问题分析
一开始我并没有在my.ini文件中添加如下指令,添加完以后就可以了。
shared-memory
9、进入MySQL
最开始并没有给MySQL设置密码,所以直接回车进入即可。需要注意的是,进入MySQL以后,命令行的前缀变为了mysql>,不再是D:\Program Files\mysql-8.0.19-winx64>这样子的了。
mysql -u root -p
10、设置数据库密码
我设置的数据库密码为:123456。
分别执行以下命令
use mysql;
update user set authentication_string='' where user='root';
alter user 'root'@'localhost' identified by '123456';
flush privileges;
注意:8.0以上版本 ‘password’ 字段已经不管用了,如果参考一些比较老的博客的话,这些指令是无法执行,会报错的。相关的指令比如:
update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';
update mysql.user set password='newpassword' where user='root';
11、注释掉my.ini中的skip-grant-tables
注释掉my.ini中的下面这句代码——加一个#就可以了。这个代码的意思是数据库启动的时候 跳过权限表的限制,不用验证密码,直接登录。安装的时候我们无需密码即可登录,需要靠这个指令。数据库的密码设置好以后,我们就应该注释掉这句话。
# skip-grant-tables
12、断开数据库以后再重新连接
- 断开数据库连接的指令
net stop mysql
- 重新连接数据库的指令
net start mysql
13、再次登录
再次登录则需要密码了
14、命令行使用数据库
如果跟着步骤到此的话,说明MySQL已经安装并配置好了,然后就可以在命令行中进行使用了。
使用数据库的时候就无需进入MySQL解压路径的bin目录下,因为我们已经在环境变量中添加了MySQL的bin目录。直接在命令行的任意位置都可以操作数据库了。