CategoryResourceRepost/极客时间专栏/geek/MySQL 必知必会/课前准备/环境准备 | 带你安装MySQL和图形化管理工具Workbench.md
louzefeng bf99793fd0 del
2024-07-09 18:38:56 +00:00

15 KiB
Raw Blame History

你好我是朱晓峰。这节课我来手把手带你安装和配置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是为了学习它因此只需要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数据库服务器如下图所示

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

  • 上方是菜单。左上方是导航栏这里我们可以看到MySQL数据库服务器里面的数据库包括数据表、视图、存储过程和函数左下方是信息栏,可以显示上方选中的数据库、数据表等对象的信息。
  • 中间上方是工作区你可以在这里写SQL语句点击上方菜单栏左边的第三个运行按钮就可以执行工作区的SQL语句了。
  • 中间下方是输出区用来显示SQL语句的运行情况包括什么时间开始运行的、运行的内容、运行的输出以及所花费的时长等信息。

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

创建数据表

第一步录入Excel数据

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

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

  • 0001book3表示条码为“0001”商品名称是“book”价格是3元。
  • 0002pen2表示条码是“0002”商品名称是“pen”价格是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”在下面的操作系统版本里面选择WindowsArchitecture Independent然后点击下载。

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

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

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

  • sql子目录是MySQL核心代码
  • libmysql子目录是客户端程序API
  • mysql-test子目录是测试工具
  • mysys子目录是操作系统相关函数和辅助函数
  • ……

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

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

小结

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

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

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

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

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

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

思考题

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

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