本文介绍如何在需要的时候,花 5 分钟快速搭建一个 MySQL 服务器(不包括下载时间)。

MySQL 是不需要安装的,官网上有 zip 包下载,解压出来即可使用。但具体要怎么做呢?分为三步:

一、初始化数据目录

首先规划一个目录作为你需要存放数据的地方,然后在 mysql 目录下执行下面的命令:

bin\mysqld.exe --datadir=[自定义数据存放目录] --initialize

initialize 参数告诉 MySQL 对 --datadir 指定的目录进行初始化。初始化完成后程序会自动退出。你会在 datadir 目录下看到一个以 .err 结尾的日志文本文件,该文件的末尾记录了数据库的 root 初始密码。把这个密码记下来,以便登录修改。

注意:初始化时,数据存放目录必须是空的,否则 MySQL 就会提示错误

[ERROR] --initialize specified but the data directory has files in it. Aborting.

然后退出。如果初始化过程成功完成,则不会有任何输出。

二、正式运行数据库

初始化完成后,就可以正式运行了。很多文章介绍运行 MySQL 的时候要如何去修改配置文件,但其实这不是必需的,因为配置文件中的绝大多数配置都可以直接在运行命令中指定。本文介绍的是如何快速搭建 MySQL,所以直接执行命令就好。

本文只要将数据库简单的运行起来,用少数几个参数就可以了。命令如下:

start bin\mysqld.exe --bind-address=0.0.0.0 --port=3306 --datadir=[数据存放目录] --character-set-server=utf8 --collation-server=utf8_general_ci


这个命令用 start 开头,意思是后台执行。你会看到一个窗口一闪而过,这并不表示执行失败,你可以打开任务管理器,就能找到 mysqld.exe 进程。如果没有找到该进程,说明数据库启动失败,请打开数据目录下 .err 结尾的日志文件,根据里面的错误信息来处理。

--bind-address 参数指的是侦听地址,0.0.0.0 表示网络上的所有电脑都可以连到这个数据库。如果不想被别的电脑访问,可改为 127.0.0.1。

如果你想在当前窗口中直接看到 MySQL 的输出,可以这样修改上面的命令:先去掉 start 开头,然后加上 --console 参数,该参数表示将日志输出到命令行而不是文件。整个命令即为:

bin\mysqld.exe --bind-address=0.0.0.0 --port=3306 --datadir=[数据存放目录] --character-set-server=utf8 --collation-server=utf8_general_ci --console

当数据库成功启动后,建议将这个命令保存在批处理文件里,以便下次运行。

三、修改 root 密码

这是初始化数据库的最后一步。首先登录数据库:

bin\mysql.exe -u root -p

输入之前记下的 root 密码即可登录。如果登录失败,或者密码丢失了,最坏的情况你可能需要清空数据目录,从本文第一步开始重新来过。

登录成功后,执行下面的命令修改 root 密码:

-- for MySQL 5-7
set password=password('[新的root密码]');
-- for MySQL 8
set password for root@localhost='[新的root密码]';

好,大功告成,你可以正式开始使用这个 MySQL 数据库了。