你好,我是朱晓峰。这节课,我来手把手带你安装和配置MySQL。

俗话说,“巧妇难为无米之炊”,我们不能凭空学习理论知识,必须要在实际的MySQL环境中进行操作,这是一切操作的基础。同时,我还会带你安装MySQL自带的图形化管理工具Workbench,我们之后要学习的表的关联、聚合、事务,以及存储过程等,都会用到它。

我会借助图文和音频给你介绍知识重点和操作要领,同时,我还录制了相应的视频,来展示具体的操作细节。你可以根据自己的习惯和需求,选择喜欢的形式来学习。

好了,话不多说,我们先来安装MySQL。

安装与配置

首先,我们要下载MySQL的安装包,具体做法是,打开浏览器,输入网址:https://dev.mysql.com,进入MySQL的开发者专区进行下载。

在下载界面,你会看到需要选择操作系统。这是因为,MySQL可以在多种操作系统平台上运行,包括Windows、Linux、macOS等,因此,MySQL准备了针对不同操作系统平台的安装程序。这里我们主要介绍MySQL在Windows操作系统上的安装。因为Windows平台应用得最广泛,而且图形化操作也比较简单。

当然,如果你想了解Linux平台和macOS平台上的安装和配置,也可以通过官网https://dev.mysql.com/doc/refman/8.0/en/linux-installation.htmlhttps://dev.mysql.com/doc/refman/8.0/en/osx-installation.html 来进行查看。不同平台上的MySQL会略有不同,比如,同样的机器配置,Linux上的MySQL运行速度就比Windows快一些,不过它们支持的功能和SQL语法都是一样的,即使你使用的是其他系统,也不会影响到我们的学习。

好了,下载完成之后,我们就可以开始安装了。接下来我给你介绍下安装步骤。

第一步:点击运行下载的安装程序,安装MySQL数据库服务器及相关组件

我给你介绍下这些关键组件的作用。

  1. MySQL Server:是MySQL数据库服务器,这是MySQL的核心组件。
  2. MySQL Workbench:是一个管理MySQL的图形工具,一会儿我还会带你安装它。
  3. MySQL Shell:是一个命令行工具。除了支持SQL语句,它还支持JavaScript和Python脚本,并且支持调用MySQL API接口。
  4. MySQL Router:是一个轻量级的插件,可以在应用和数据库服务器之间,起到路由和负载均衡的作用。听起来有点复杂,我们来想象一个场景:假设你有多个MySQL数据库服务器,而前端的应用同时产生了很多数据库访问请求,这时,MySQL Router就可以对这些请求进行调度,把访问均衡地分配给每个数据库服务器,而不是集中在一个或几个数据库服务器上。
  5. Connector/ODBC:是MySQL数据库的ODBC驱动程序。ODBC是微软的一套数据库连接标准,微软的产品(比如Excel)就可以通过ODBC驱动与MySQL数据库连接。

其他的组件,主要用来支持各种开发环境与MySQL的连接,还有MySQL帮助文档和示例。你一看就明白了,我就不多说了。

好了,知道这些作用,下面我们来点击“Execute”,运行安装程序,把这些组件安装到电脑上。

第二步:配置服务器

等所有组件安装完成之后,安装程序会提示配置服务器的类型(Config Type)、连接(Connectivity)以及高级选项(Advanced Configuration)等,如下图所示。这里我重点讲一下配置方法。

我们主要有2个部分需要配置,分别是服务器类别服务器连接

先说服务器类别配置。我们有3个选项,分别是开发计算机(Development Computer)、服务器计算机(Sever Computer)和专属计算机(Dedicated Computer)。它们的区别在于,MySQL数据库服务器会占用多大的内存

这里我们选择配置成“开发计算机”,因为我们安装MySQL是为了学习它,因此,只需要MySQL占有运行所必需的最小资源就可以了。如果你要把它作为项目中的数据库服务器使用,就应该配置成服务器计算机或者专属计算机。

再来说说MySQL数据库的连接方式配置。我们也有3个选项:网络通讯协议(TCP/IP)、命名管道(Named Pipe)和共享内存(Shared Memory)。命名管道和共享内存的优势是速度很快,但是,它们都有一个局限,那就是只能从本机访问MySQL数据库服务器。所以,这里我们选择默认的网络通讯协议方式,这样的话,MySQL数据库服务就可以通过网络进行访问了

MySQL默认的TCP/IP协议访问端口是3306,后面的X协议端口默认是33060,这里我们都不做修改。MySQL的X插件会用到X协议,主要是用来实现类似MongoDB 的文件存储服务。这方面的知识,我会在课程后面具体讲解,这里就不多说了。

高级配置(Show Advanced)和日志配置(Logging Options),在咱们的课程中用不到,这里不用勾选,系统会按照默认值进行配置。

第三步:身份验证配置

关于MySQL的身份验证的方式,我们选择系统推荐的基于SHA256的新加密算法caching_sha2_password。因为跟老版本的加密算法相比,新的加密算法具有相同的密码也不会生成相同的加密结果的特点,因此更加安全。

第四步:设置密码和用户权限

接着,我们要设置Root用户的密码。Root是MySQL的超级用户,拥有MySQL数据库访问的最高权限。这个密码很重要,我们之后会经常用到,你一定要牢记。

第五步:配置Windows服务

最后,我们要把MySQL服务器配置成Windows服务。Windows服务的好处在于,可以让MySQL数据库服务器一直在Windows环境中运行。而且,我们可以让MySQL数据库服务器随着Windows系统的启动而自动启动。

图形化管理工具Workbench

安装完成之后,我再给你介绍一下MySQL自带的图形化管理工具Workbench。同时,我还会用Workbench的数据导入功能,带你导入一个Excel数据文件,创建出我们的第一个数据库和数据表。

首先,我们点击Windows左下角的“开始”按钮,如果你是Win10系统,可以直接看到所有程序,如果你是Win7系统,需要找到“所有程序”按钮,点击它就可以看到所有程序了。

接着,找到“MySQL”,点开,找到“MySQL Workbench 8.0 CE”。点击打开Workbench,如下图所示:

左下角有个本地连接,点击,录入Root的密码,登录本地MySQL数据库服务器,如下图所示:

这是一个图形化的界面,我来给你介绍下这个界面。

好了,下面我们就用Workbench实际创建一个数据库,并且导入一个Excel数据文件,来生成一个数据表。数据表是存储数据的载体,有了数据表以后,我们就能对数据进行操作了

创建数据表

第一步:录入Excel数据

我们打开Excel,在工作簿里面录入数据。

我们这个工作表包括3列,分别是barcode、goodsname、price,代表商品条码、商品名称和售价。然后,我们再录入2条数据。

注意,我在录入商品条码的时候,打头用了一个单引号,这是为了告诉Excel,后面是文本,这样系统就不会把0001识别为数字了。

录入完成之后,我们把这个文件存起来,名称是test,格式采用“CSVUTF-8(逗号分隔)”。这样,我们就有了一个CSV文件test.csv。

第二步:编码转换

用记事本打开文件,再用UTF-8格式保存一次,这是为了让Workbench能够识别文件的编码。

第三步:数据导入

准备好数据文件以后,我们回到Workbench,在工作区录入命令:create database demo;,在工作区的上方,有一排按钮,找到闪电标识的运行按钮,点击运行。

这时,下方的输出区域的运行结果会提示“OK”,表示运行成功。此时,把光标放到左边的导航区,点击鼠标右键,刷新全部,新创建的数据库“demo”就出现了。

点击数据库demo左边的向右箭头,就可以看到数据库下面的数据表、视图、存储过程和函数。当然,现在都是空的。光标选中数据表,鼠标右键,选择“Table Data Import Wizard”,这时会弹出数据文件选择界面。选中刚才准备的test.csv文件,点击下一步,Workbench会提示导入目标数据表,我们现在什么表也没有,所以要选择创建新表“test”。点击下一步,Workbench会提示配置表的字段,其实它已经按照数据的类别帮我们配置好了。

这时候,再次点击下一步,点击运行,完成数据表导入。光标放到左边的导航区,选中我们刚刚创建的数据库“demo”中的数据表,鼠标右键,点击刷新全部,刚刚导入的数据表“test”就显示出来了。

进行查询

现在我们已经有了数据库,也有了数据表,下面让我们尝试一个简单的查询。

在工作区,录入SELECT * FROM demo.test;(这里的demo是数据库名称,test是数据表名称,*表示全部字段)。

用鼠标选中这行查询命令,点击运行。工作区的下半部分,会显示查询的结果。我们录入的2条数据,都可以看到了。

再尝试插入一条语句:

INSERT INTO demo.test 
VALUES ('0003','橡皮',5);

鼠标选中这条语句,点击运行。看到了吗?输出区提示“OK”,运行成功了。现在回过头来选中上面那条查询语句“SELECT * FROM demo.test;”,点击运行,刚才我们插入的那条记录也查询出来了。

到这里,我们就完成了数据库创建、数据表导入和简单的查询。是不是觉得很简单呢?

最后,我还想再讲一下源码获取方法。咱们的课程不要求你阅读源码,但是你可以先学会获取源码的方法,毕竟,这是帮助你提升的重要工具。

MySQL源代码获取

首先,你要进入MySQL下载界面。 这里你不要选择用默认的“Microsoft Windows”,而是要通过下拉栏,找到“Source Code”,在下面的操作系统版本里面,选择Windows(Architecture Independent),然后点击下载。

接下来,把下载下来的压缩文件解压,我们就得到了MySQL的源代码。

MySQL是用C++开发而成的,我简单介绍一下源代码的组成。

mysql-8.0.22目录下的各个子目录,包含了MySQL各部分组件的源代码:

源代码可以用记事本打开查看,如果你有C++的开发环境,也可以在开发环境中打开查看。

如上图所示,源代码并不神秘,就是普通的C++代码,跟你熟悉的一样,而且有很多注释,可以帮助你理解。阅读源代码就像在跟MySQL的开发人员对话一样,十分有趣。

小结

好了,我们来小结下今天的内容。

这节课,我带你完成了MySQL的安装和配置,同时我还介绍了图形化管理工具Workbench的使用,并且创建了第一个数据库、数据表,也尝试了初步的SQL语句查询。

我建议你用自己的电脑,按照这节课的内容,实际操作一下MySQL的安装、配置,并尝试不同的配置,看看有什么不同,体会课程的内容,加深理解。

最后,还有几点我要着重提醒你一下。

  1. 我们的MySQL是按照开发计算机进行的最小配置,实际做项目的时候,如果MySQL是核心数据库,你要给MySQL配置更多的资源,就要选择服务器计算机,甚至是专属计算机。
  2. Root超级用户的密码,你不要忘了,否则只好卸载重新安装。
  3. 你还可以在Workbench中,尝试一下不同的SQL语句,同时看看不同的工作区、菜单栏的各种按钮,看看它们都是做什么用的。熟悉Workbench,对理解我们后面的知识点,会很有帮助。

课程的最后,我还要给你推荐一下MySQL的官方论坛。这里面有很多主题,比如新产品的发布、各种工具的使用、MySQL各部分组件的介绍,等等。如果你有不清楚的内容,也可以在里面提问,和大家交流,建议你好好利用起来。

思考题

在导入数据的时候,如果不采用MySQL默认的表名,而是把导入之后的表改个名字,比如说叫demo.sample,该如何操作呢?

欢迎在留言区写下你的思考和答案,我们一起交流讨论。如果你觉得今天的内容对你有所帮助,也欢迎你把它分享给你的朋友或同事,我们下节课见。

评论