准备MySQL测试环境(Windows)

电子表格类应用可以解决日常工作中的很多问题,但是,随着数据量不断增加,数据处理和应用开发的要求越来越高,只使用电子表格会显得有些吃力;大型企业可以考虑使用专业的数据处理和分析系统,而对于中、小型企业或个人来讲,掌握数据库管理系统和应用开发技术,进一步充实自己的数据处理工具箱、增强数据的综合处理能力,则是成本更低、更加自主可控的解决方案。

安装和配置MySQL环境

MySQL是一种关系型数据库管理系统,可以从https://www.mysql.com/downloads/下载所需要的版本和相关工具;MariaDB是MySQL的一个重要分支,其基础应用与MySQL几乎一样,可以从https://mariadb.org/了解相关信息。

本文将介绍如何创建一个Windows操作系统下的本地MySQL测试环境,使用的是MySQL 8.4.8版本。首先,可以从网站下载MySQL的压缩包文件,文件名为mysql-8.4.8-winx64.zip,下载后解压到D:盘,并将文件夹重新命名为mysql8,下面将使用命令行方式进行配置。由于需要将MySQL安装为Windows系统服务,所以要使用管理员权限打开命令行环境(cmd.exe)。在Windows 7操作系统下,通过“开始”菜单>>“所有程序”>>“附件”>>“命令提示符”右键菜单>>“以管理员身份运行”打开。Windows 10或Windows 11操作系统中可以搜索cmd.exe,然后选择“以管理员身份运行”。打开命令行环境的默认状态如下图所示。

命令行环境

打开命令行环境后,执行以下命令进入MySQL下的bin文件夹,其中的分区(d:)和路径(mysql8\bin)应根据实际情况指定。

命令行
d:
cd mysql8\bin

在bin文件夹中执行如下命令,使用mysqld工具初始化MySQL环境。

命令行
mysqld --initialize-insecure

此命令中,--initialize参数会在MySQL下创建data文件夹,其中包含了MySQL的系统数据库;-insecure参数会创建本地的(localhost)root用户,密码为空,稍后会修改用户登录密码。

安装和删除Windows系统服务

接下来将MySQL安装为Windows系统服务。MySQL服务的默认名称是MySQL,如果需要安装多个版本的MySQL或MariaDB服务,可以分别指定不同的服务名,如下面的命令安装的服务名就是mysql8。

命令行
mysqld --install mysql8

Windows系统服务安装成功后,在启动MySQL服务前需要注意一些配置参数。在Windows环境下,可以在MySQL主目录下添加my.ini文件。可以通过Windows自带的“记事本”编辑内容,然后在“另存为”窗口的“保存类型”列表中选择“所有文件(*.*)”并指定文件名为my.ini。这里,暂时将my.ini文件内容修改如下。

MySQL配置文件
[mysqld]
character_set_server = utf8mb4
port=3306

这里有两个配置参数,一是将数据库服务的默认字符集(character_set_server)设置为utf8mb4。二是将数据库服务的侦听端口(port)设置为3306;请注意,3306是MySQL服务的默认端口,如果安装多个MySQL或MariaDB服务,可以设置为其它端口;为避免冲突,建议使用10000以上的端口。

在Windows下启动MySQL服务有几种方法,一是运行services.msc,在服务列表中找到服务项,如mysql8,然后通过右键菜单“启动”或打开服务属性窗口后点击“启动”按钮。第二种方法是在命令行环境中使用net命令,如“net start mysql8”。

停止MySQL服务时,同样可以services.msc工具中操作,也可以在命令行环境中使用“net stop mysql8”命令。删除Windows服务可以在命令行环境中使用sc命令,如“sc delete mysql8”。

修改用户密码

启动MySQL服务后,可以使用mysqladmin工具修改root用户的密码,继续在命令行环境中操作,在MySQL中的bin文件夹执行如下命令。

命令行
mysqladmin -u root -p password -P 3306 -h localhost

其中,-u参数指定登录用户名;-p参数指定需要输入密码;password指令表示执行修改密码操作;-P参数指定服务端口,如果不指定端口默认使用3306;-h指定登录的服务器主机,如不指定主机默认使用localhost。由于本文创建的环境使用了默认的端口和服务器地址,所以上面的命令和“mysqladmin -u root -p password”命令的功能是相同的。

请注意,root是默认的数据库管理用户,拥有所有的数据库操作权限,其用户安全性要求是很高的;我们在本地的测试环境中暂时使用root用户进行操作,但还是应该设置一个复杂性较高的密码,如使用10个以上的字符,并由大小字母、数字和其它符号组成。

执行命令后,首先要求输入原始密码,新安装的MySQL中root用户密码为空,可以直接回车;然后,需要输入两次新的密码并分别回车确认,修改新的登录密码后一定要牢记。

使用客户端操作MySQL数据库

接下来使用MySQL自带的客户端工具mysql登录服务,在bin文件夹中执行如下命令。

命令行
mysql -u root -p -P 3306 -h localhost

其中,参数含义与mysqladmin工具相同,-P和-h参数指定的端口和服务器地址指定的是默认值,工作中需要按服务器实际配置指定参数。执行命令后需要输入新的root用户密码,登录后界面如下图所示。

mysql命令行客户端

退出mysql客户端可以使用quit命令。

使用自带的命令行客户端工具虽然简单,但在Windows环境下使用图形界面工具会更加直观、方便,这里使用HeidiSQL工具,官方网站为https://www.heidisql.com/,可以下载最新版本使用。

启动HeidiSQL程序后,会显示会话管理器窗口,点击左下角的“新建”按钮创建一个新的MySQL服务连接,可以命名为mysql8(local),然后设置连接参数,如下图所示。

创建MySQL服务器连接

输入正确的主机名/IP、用户名、密码、端口参数后,可以点击左下角的“保存”按钮保存服务器连接参数,以后每次打开HeidiSQL后,在“会话名称”列表中选中连接项并点击“打开”按钮即可打开数据库服务连接,如下图所示。

HeidiSQL主界面

图中,位置1显示了当前MySQL服务中的数据库列表,这里的4个数据库是MySQL系统数据库;位置2的“查询”是编辑SQL语句的地方。此外,笔者比较喜欢使用小写字母书写SQL语句,可以通过菜单“工具”>>“首选项”打开设置窗口,在“SQL”页中取消“将保留字和函数自动大写”的选择,如下图所示。

HeidiSQL设置

在“查询”中输入如下代码,可以查询MySQL的版本信息。

MySQL
select @@version;

完成后点击工具栏中的执行按钮或使用键盘F9键执行代码,执行结果如下图所示。

执行SQL

如图中所示,首先在位置1输入SQL语句通过@@version变量值查询MySQL版本;然后通过位置2的执行按钮(或F9)执行SQL语句;执行结果会显示在位置3的地方,可以看到MySQL版本为8.4.8。

SQL(Structured Query Language,结构化查询语言)是关系型数据库的操作语言,后续文章中会大量的使用SQL语句操作MySQL数据库。