在很多情况下,例如windows系统下,并不想将mysql数据库以服务的形式安装,因为可能会用到多种版本的数据库,我们想下载多种版本数据库放在不同的目录下,在需要哪个版本的数据库的时候,启动相应的mysql服务即可,可以灵活切换。
1.在mysql官网下载压缩包
https://downloads.mysql.com/archives/community/ 在这里可以根据系统要求下载相应的版本,我这里以Mysql5.7.17为例,系统选择采用的是Windows 64位的,然后点击现在ZIP Archive
2.加压下载好的文件并添加配置文件my.ini
将下载好的文件加压到某个目录下,这里假设解压到了D://mysql-5.7.17目录下。然后在改文件夹中找是否包含默认的配置文件my-default.ini,如果有的话只需要将改文件进行重命名,修改为my.ini即可
3.进行数据库的初始化
对于采用下载ZIP Archive文件来安装mysql,需要手动进行mysql的初始化。这是因为对于采用这种形式下载的mysql包中是没有data文件的,即数据库中没有任何数据,连登陆mysql的root用户都没有,所以我们首先要进行数据库数据的初始化。
方法很简单,只需要在命令行执行mysql解压目录下bin文件夹中的mysqld.exe即可,具体如下:
D:\mysql-5.7.17\bin\mysqld.exe --initialize --user=root --console
这里使用了--initialize 表示在初始化的时候会给指定的root用户随机生成一个密码,命令中加上--console就是为了让在执行命令的时候打印出来这个密码,如下例子:
然后启动mysql服务之后就可以修改默认的密码:
alter user root@'localhost' identified by 'root';
当然也可以使用如下命令:
D:\mysql-5.7.17\bin\mysqld.exe --initialize-insecure --user=root --console
这里使用了--initialize-insecure 表示在初始化的时候不会给root用户生成密码,即在登录的时候是不需要密码就可以登录。最终对root用户密码的设置需要我们自己手动去设置,如:
set password for root@localhost=password('root');
官方说明:
Use --initialize for “secure by default” installation (that is, including generation of a random initial root password). In this case, the password is marked as expired and you will need to choose a new one.
With --initialize-insecure, no root password is generated. This is insecure; it is assumed that you will assign a password to the account in timely fashion before putting the server into production use.
4.启动数据库
在windows系统中,只需要双击mysqld.exe文件,即可启动mysql。该启动方式启动之后会在后台运行,可以通过任务管理器来查看mysql是否启动成功。
5.使用客户端连接数据库
执行命令:
D:\mysql-5.7.17\bin\mysql.exe -uroot -proot
即可连接数据库。
可以参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/windows-install-archive.html