你好,我是朱晓峰。这节课,我来手把手带你安装和配置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.html 和https://dev.mysql.com/doc/refman/8.0/en/osx-installation.html 来进行查看。不同平台上的MySQL会略有不同,比如,同样的机器配置,Linux上的MySQL运行速度就比Windows快一些,不过它们支持的功能和SQL语法都是一样的,即使你使用的是其他系统,也不会影响到我们的学习。
好了,下载完成之后,我们就可以开始安装了。接下来我给你介绍下安装步骤。
第一步:点击运行下载的安装程序,安装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系统的启动而自动启动。
安装完成之后,我再给你介绍一下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下载界面。 这里你不要选择用默认的“Microsoft Windows”,而是要通过下拉栏,找到“Source Code”,在下面的操作系统版本里面,选择Windows(Architecture Independent),然后点击下载。
接下来,把下载下来的压缩文件解压,我们就得到了MySQL的源代码。
MySQL是用C++开发而成的,我简单介绍一下源代码的组成。
mysql-8.0.22目录下的各个子目录,包含了MySQL各部分组件的源代码:
源代码可以用记事本打开查看,如果你有C++的开发环境,也可以在开发环境中打开查看。
如上图所示,源代码并不神秘,就是普通的C++代码,跟你熟悉的一样,而且有很多注释,可以帮助你理解。阅读源代码就像在跟MySQL的开发人员对话一样,十分有趣。
好了,我们来小结下今天的内容。
这节课,我带你完成了MySQL的安装和配置,同时我还介绍了图形化管理工具Workbench的使用,并且创建了第一个数据库、数据表,也尝试了初步的SQL语句查询。
我建议你用自己的电脑,按照这节课的内容,实际操作一下MySQL的安装、配置,并尝试不同的配置,看看有什么不同,体会课程的内容,加深理解。
最后,还有几点我要着重提醒你一下。
课程的最后,我还要给你推荐一下MySQL的官方论坛。这里面有很多主题,比如新产品的发布、各种工具的使用、MySQL各部分组件的介绍,等等。如果你有不清楚的内容,也可以在里面提问,和大家交流,建议你好好利用起来。
在导入数据的时候,如果不采用MySQL默认的表名,而是把导入之后的表改个名字,比如说叫demo.sample,该如何操作呢?
欢迎在留言区写下你的思考和答案,我们一起交流讨论。如果你觉得今天的内容对你有所帮助,也欢迎你把它分享给你的朋友或同事,我们下节课见。
评论