MySQL 必知必会
朱晓峰
前摩根大通银行技术部副总裁、系统架构师
17746 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 36 讲
MySQL 必知必会
15
15
1.0x
00:00/13:29
登录|注册

环境准备 | 带你安装MySQL和图形化管理工具Workbench

讲述:朱晓峰大小:12.31M时长:13:29
你好,我是朱晓峰。这节课,我来手把手带你安装和配置 MySQL。
俗话说,“巧妇难为无米之炊”,我们不能凭空学习理论知识,必须要在实际的 MySQL 环境中进行操作,这是一切操作的基础。同时,我还会带你安装 MySQL 自带的图形化管理工具 Workbench,我们之后要学习的表的关联、聚合、事务,以及存储过程等,都会用到它。
我会借助图文和音频给你介绍知识重点和操作要领,同时,我还录制了相应的视频,来展示具体的操作细节。你可以根据自己的习惯和需求,选择喜欢的形式来学习。
00:00 / 00:00
    1.0x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00
    好了,话不多说,我们先来安装 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 数据库服务器及相关组件
    我给你介绍下这些关键组件的作用。
    MySQL Server:是 MySQL 数据库服务器,这是 MySQL 的核心组件。
    MySQL Workbench:是一个管理 MySQL 的图形工具,一会儿我还会带你安装它。
    MySQL Shell:是一个命令行工具。除了支持 SQL 语句,它还支持 JavaScript 和 Python 脚本,并且支持调用 MySQL API 接口。
    MySQL Router:是一个轻量级的插件,可以在应用和数据库服务器之间,起到路由和负载均衡的作用。听起来有点复杂,我们来想象一个场景:假设你有多个 MySQL 数据库服务器,而前端的应用同时产生了很多数据库访问请求,这时,MySQL Router 就可以对这些请求进行调度,把访问均衡地分配给每个数据库服务器,而不是集中在一个或几个数据库服务器上。
    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 条数据。
    0001,book,3:表示条码为“0001”,商品名称是“book”,价格是 3 元。
    0002,pen,2:表示条码是“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”,在下面的操作系统版本里面,选择 Windows(Architecture Independent),然后点击下载。
    接下来,把下载下来的压缩文件解压,我们就得到了 MySQL 的源代码。
    MySQL 是用 C++ 开发而成的,我简单介绍一下源代码的组成。
    mysql-8.0.22 目录下的各个子目录,包含了 MySQL 各部分组件的源代码:
    sql 子目录是 MySQL 核心代码;
    libmysql 子目录是客户端程序 API;
    mysql-test 子目录是测试工具;
    mysys 子目录是操作系统相关函数和辅助函数;
    ……
    源代码可以用记事本打开查看,如果你有 C++ 的开发环境,也可以在开发环境中打开查看。
    如上图所示,源代码并不神秘,就是普通的 C++ 代码,跟你熟悉的一样,而且有很多注释,可以帮助你理解。阅读源代码就像在跟 MySQL 的开发人员对话一样,十分有趣。

    小结

    好了,我们来小结下今天的内容。
    这节课,我带你完成了 MySQL 的安装和配置,同时我还介绍了图形化管理工具 Workbench 的使用,并且创建了第一个数据库、数据表,也尝试了初步的 SQL 语句查询。
    我建议你用自己的电脑,按照这节课的内容,实际操作一下 MySQL 的安装、配置,并尝试不同的配置,看看有什么不同,体会课程的内容,加深理解。
    最后,还有几点我要着重提醒你一下。
    我们的 MySQL 是按照开发计算机进行的最小配置,实际做项目的时候,如果 MySQL 是核心数据库,你要给 MySQL 配置更多的资源,就要选择服务器计算机,甚至是专属计算机。
    Root 超级用户的密码,你不要忘了,否则只好卸载重新安装。
    你还可以在 Workbench 中,尝试一下不同的 SQL 语句,同时看看不同的工作区、菜单栏的各种按钮,看看它们都是做什么用的。熟悉 Workbench,对理解我们后面的知识点,会很有帮助。
    课程的最后,我还要给你推荐一下 MySQL 的官方论坛。这里面有很多主题,比如新产品的发布、各种工具的使用、MySQL 各部分组件的介绍,等等。如果你有不清楚的内容,也可以在里面提问,和大家交流,建议你好好利用起来。

    思考题

    在导入数据的时候,如果不采用 MySQL 默认的表名,而是把导入之后的表改个名字,比如说叫 demo.sample,该如何操作呢?
    欢迎在留言区写下你的思考和答案,我们一起交流讨论。如果你觉得今天的内容对你有所帮助,也欢迎你把它分享给你的朋友或同事,我们下节课见。
    确认放弃笔记?
    放弃后所记笔记将不保留。
    新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
    批量公开的笔记不会为你同步至部落
    公开
    同步至部落
    取消
    完成
    0/2000
    荧光笔
    直线
    曲线
    笔记
    复制
    AI
    • 深入了解
    • 翻译
      • 英语
      • 中文简体
      • 中文繁体
      • 法语
      • 德语
      • 日语
      • 韩语
      • 俄语
      • 西班牙语
      • 阿拉伯语
    • 解释
    • 总结

    本文详细介绍了MySQL和图形化管理工具Workbench的安装、配置和基本操作流程。首先,作者介绍了MySQL的下载和安装步骤,包括服务器配置、身份验证配置、密码和用户权限设置以及Windows服务配置等。随后,详细讲解了使用Workbench创建数据库和导入Excel数据文件生成数据表的步骤,并演示了简单的查询和插入语句操作。此外,还介绍了获取MySQL源代码的方法。整篇文章通过图文和音频结合的方式,手把手地教读者安装和配置MySQL,并使用图形化管理工具进行数据库操作,适合初学者快速了解MySQL的安装和基本操作流程。文章内容丰富,操作步骤清晰,适合初学者快速入门。

    2021-03-0841人觉得很赞给文章提建议

    仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
    《MySQL 必知必会》
    新⼈⾸单¥59
    立即购买
    登录 后留言

    全部留言(33)

    • 最新
    • 精选
    • Django...
      讲解详细很赞;想请教个曾被一个开发面试面倒的数据库问题:一张表在源源不断插入的情况下,怎么去做备份(不知是不是这样,记不太清)?

      作者回复: 可以这样回答:首先确认下热备的目的是什么?如果是防止数据丢失,可以采用主从数据库的办法,这样主数据库故障,应用可以转到从数据库。重要的应用,往往这样设置,所谓无颤动切换,就是当主数据库故障的时候,可以立即切换,并且在应用层面,感觉不到。如果仅仅是为了把数据保存出来,有很多工具,比如mysqldump,可以进行热备,通过设置参数--add-locks,在备份过程中先锁住表,备份完成之后释放锁的办法,使数据完整,但是这样会影响应用。还可以设置参数--single-transaction(仅限InnoDB),确保数据一致性。总之,要根据实际的需求,选择备份的方式。

      2021-03-09
      2
      37
    • 右耳朵猫咪
      老师,workbench、sqlyog、navicat这三个图形工具有什么区别,最常用的是哪个呢?

      作者回复: 学习MySQL,我推荐使用workbench,原因是这是MySQL自带的,完全免费,与MySQL的匹配度也比较好。sqlyog我没用过,没有办法给建议。navicat是一款优秀的图形工具,可以连接很多种数据库,也很好用,缺点是要收费。

      2021-03-09
      9
      12
    • giteebravo
      太详细了,这几乎就是手把手教了

      作者回复: 谢谢鼓励,一起加油!

      2021-03-13
      7
    • 空亦非空
      喜欢作者的贴心安排

      作者回复: 谢谢鼓励!

      2021-03-18
      6
    • 无刃
      老师,我win10系统,完全根据视频步骤导入test.csv,但表头的barcode通过Workbench导入后变成了锘縝arcode,其他无异常。不知这是什么原因?

      作者回复: 是码制的问题,用workbench导入CSV不支持中文的,用英文应该没问题

      2021-03-27
      2
      4
    • DebugDog
      自己用的5.7版本,需要切换到8.0吗

      作者回复: 课程是以8.0为基础讲解的,建议升级到8.0,这样一些8.0新的功能,也可以看到了

      2021-03-10
      2
      4
    • 流云
      用docker在Linux云主机起一个应该可以?

      作者回复: 这个我没有尝试过,虚拟机的资源不一定能满足MySQL的要求

      2021-03-18
      2
    • 小鱼干
      课程中用到的MySQL版本都是8.0吗,自己用的5.7版本。两个版本有些特性不同。学习过程中要切换到8.0吗。

      作者回复: 建议你切换到8.0,这样能够跟课程同步

      2021-03-10
      2
    • longMe
      确实很详细,感觉就有点小学老师在教小学生一笔一划怎么写字一样。

      作者回复: 考虑到学习本课程的同学可能没有接触过数据库,所以开始的时候讲得比较细,方便大家上手。

      2021-09-07
      1
    • Soul of the Dragon
      老师,我的MySQL installer里面没有choosing a setup type这一项,导致后面的安装步骤进行不下去,请问是什么原因?

      作者回复: 你电脑系统问题,或者是安装程序的问题。解决办法,重新下载安装包,不行的话可以换一台电脑试试

      2021-09-03
      1
    收起评论
    大纲
    固定大纲
    安装与配置
    图形化管理工具 Workbench
    创建数据表
    进行查询
    MySQL 源代码获取
    小结
    思考题
    显示
    设置
    留言
    33
    收藏
    53
    沉浸
    阅读
    分享
    手机端
    快捷键
    回顶部