【MySQL学习笔记】系列三:演示使用MySQL、介绍图形化管理工具、MySQL的目录结构与源码(二)

简介: 【MySQL学习笔记】系列三:演示使用MySQL、介绍图形化管理工具、MySQL的目录结构与源码(二)
+关注继续查看

三、MySQL图形化管理工具


MySQL图形化管理工具极大地方便了数据库的操作与管理,常用的图形化管理工具有:MySQL Workbench、phpMyAdmin、Navicat Preminum、MySQLDumper、SQLyog、dbeaver、MySQL ODBC Connector。


工具1. MySQL Workbench

MySQL官方提供的图形化管理工具MySQL Workbench完全支持MySQL 5.0以上的版本。MySQL Workbench分为社区版和商业版,社区版完全免费,而商业版则是按年收费。


MySQL Workbench 为数据库管理员、程序开发者和系统规划师提供可视化设计、模型建立、以及数据库管理功能。它包含了用于创建复杂的数据建模ER模型,正向和逆向数据库工程,也可以用于执行通常需要花费大量时间的、难以变更和管理的文档任务。


下载地址:http://dev.mysql.com/downloads/workbench/


使用:


首先,我们点击 Windows 左下角的“开始”按钮,如果你是 Win10 系统,可以直接看到所有程序。接着,找到“MySQL”,点开,找到“MySQL Workbench 8.0 CE”。点击打开 Workbench,如下图所示:


007c103e82b1812d0d1d6ab73b62fa82_052cc38925d94d5eb8a3f9378d7f5526.png


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


05d45c5203b1d4ab38d45d06b9879b98_d9f898e2c9cc43708dcb2ea9e3ec6e49.png


c7dc113f0931b744838f808d3cf3aa33_b6c10115c8df43b8a47fead8c24fbb94.png


19648b43f76ff25e01d6fd89a92e0fea_d00efb33df274bbd842fd2b5c381744d.png


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


上方是菜单。左上方是导航栏,这里我们可以看到 MySQL 数据库服务器里面的数据 库,包括数据表、视图、存储过程和函数;左下方是信息栏,可以显示上方选中的数据 库、数据表等对象的信息。


中间上方是工作区,你可以在这里写 SQL 语句,点击上方菜单栏左边的第三个运行按 钮,就可以执行工作区的 SQL 语句了。


中间下方是输出区,用来显示 SQL 语句的运行情况,包括什么时间开始运行的、运行的 内容、运行的输出,以及所花费的时长等信息。


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


工具2. Navicat

Navicat MySQL是一个强大的MySQL数据库服务器管理和开发工具。它可以与任何3.21或以上版本的MySQL一起工作,支持触发器、存储过程、函数、事件、视图、管理用户等,对于新手来说易学易用。其精心设计的图形用户界面(GUI)可以让用户用一种安全简便的方式来快速方便地创建、组织、访问和共享信息。Navicat支持中文,有免费版本提供。

下载地址:http://www.navicat.com/


db8e6c9c05cb104d42264c102821db81_5f23b74800eb43fe8d0b123fc5e431e7.png



c73def4aa3a8ae7228459f9a9b5202c8_f11f3564c53a41dd900612e7db2e0adb.png


工具3. SQLyog

SQLyog 是业界著名的 Webyog 公司出品的一款简洁高效、功能强大的图形化 MySQL 数据库管理工具。这款工具是使用C++语言开发的。该工具可以方便地创建数据库、表、视图和索引等,还可以方便地进行插入、更新和删除等操作,同时可以方便地进行数据库、数据表的备份和还原。该工具不仅可以通过SQL文件进行大量文件的导入和导出,还可以导入和导出XML、HTML和CSV等多种格式的数据。

下载地址:http://www.webyog.com/,读者也可以搜索中文版的下载地址。


004ad02863dc3b0e5b2138cd02fe3d71_090b1633e7174f7ab11b097d747908ba.png


97ea9f4b0a1dd2b7d9bacd20170232a1_07131492d2394e8ebd2cf05e7671be08.png


工具4:dbeaver

DBeaver是一个通用的数据库管理工具和 SQL 客户端,支持所有流行的数据库:MySQL、PostgreSQL、SQLite、Oracle、DB2、SQL Server、 Sybase、MS Access、Teradata、 Firebird、Apache Hive、Phoenix、Presto等。DBeaver比大多数的SQL管理工具要轻量,而且支持中文界面。DBeaver社区版作为一个免费开源的产品,和其他类似的软件相比,在功能和易用性上都毫不逊色。


唯一需要注意是 DBeaver 是用Java编程语言开发的,所以需要拥有 JDK(Java Development ToolKit)环境。如果电脑上没有JDK,在选择安装DBeaver组件时,勾选“Include Java”即可。


下载地址:https://dbeaver.io/download/


64ffa24a70890663f8f09a588ccfe6ca_e45ac43adf5d4e7292509756e51b0865.png


af387ec80f0ca54c9872912934468330_144e9f64d66c4b2dac8ecbf43e2be866.png


3c451a67b1ff885d15eace4c73c03694_d59d4c2570754095bb77f74715091155.png


8540fbe294f4bd55ad9fad776f2ffb0b_4bef49fea6244adcb46fedaf886c599e.png


可能出现连接问题:

有些图形界面工具,特别是旧版本的图形界面工具,在连接MySQL8时出现“Authentication plugin ‘caching_sha2_password’ cannot be loaded”错误。


eae724dff292fd02215406255a404499_5ba6cbdccf9c446689aa6024d28a094f.png


出现这个原因是MySQL8之前的版本中加密规则是mysql_native_password,而在MySQL8之后,加密规则是caching_sha2_password。解决问题方法有两种,第一种是升级图形界面工具版本,第二种是把MySQL8用户登录密码加密规则还原成mysql_native_password。


第二种解决方案如下,用命令行登录MySQL数据库之后,执行如下命令修改用户密码加密规则并更新用户密码,这里修改用户名为“root@localhost”的用户密码规则为“mysql_native_password”,密码值为“123456”,如图所示。


#使用mysql数据库
USE mysql; 
#修改'root'@'localhost'用户的密码规则和密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'abc123'; 
#刷新权限
FLUSH PRIVILEGES;


32654bc916e46e423e434f887eb1b57a_9f1a70f0c3b747d288c8b370f0efc9e0.png


四、MySQL目录结构与源码


4.1 主要目录结构



MySQL的目录结构

说明

bin目录

所有MySQL的可执行文件。如:mysql.exe

MySQLInstanceConfig.exe

数据库的配置向导,在安装时出现的内容

data目录

系统数据库所在的目录

my.ini文件

MySQL的主要配置文件

c:\ProgramData\MySQL\MySQL Server 8.0\data\

用户创建的数据库所在的目录


4.2 MySQL 源代码获取


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


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


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


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


e56d1f889e26cf1c0409bce140ff2324_40838535530849348cd0542851857dfa.png


sql 子目录是 MySQL 核心代码;


libmysql 子目录是客户端程序 API;


mysql-test 子目录是测试工具;


mysys 子目录是操作系统相关函数和辅助函数;


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


333b7e5ece245eb0a7716f4cc783cba4_2e384482a90d41f0982aaee0d1a108b6.png


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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
人工智能 运维 监控
Java智慧工地云平台源码(微服务+Java+Spring Cloud +UniApp +MySql)
Java智慧工地云平台源码(微服务+Java+Spring Cloud +UniApp +MySql)
213 0
|
3月前
|
SQL 数据库
Springboot+html5+mysql的CRUD增删改查(基础版本详细,附带源码)(二)
Springboot+html5+mysql的CRUD增删改查(基础版本详细,附带源码)(二)
24 0
|
3月前
|
SQL 数据库连接
Springboot+html5+mysql的CRUD增删改查(基础版本详细,附带源码)(一)
Springboot+html5+mysql的CRUD增删改查(基础版本详细,附带源码)(一)
31 0
|
5月前
|
SQL 监控 安全
【MySQL学习笔记】系列三:演示使用MySQL、介绍图形化管理工具、MySQL的目录结构与源码(一)
【MySQL学习笔记】系列三:演示使用MySQL、介绍图形化管理工具、MySQL的目录结构与源码(一)
|
8月前
|
存储 SQL 缓存
万字长文~vue+express+mysql带你彻底搞懂项目中的权限控制(附所有源码)
万字长文~vue+express+mysql带你彻底搞懂项目中的权限控制(附所有源码)
172 0
|
8月前
|
前端开发 NoSQL Java
java Swing+mysql+JDBC实现教务系统(源码+数据库+UML图+数据库分析)
🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
217 0
java Swing+mysql+JDBC实现教务系统(源码+数据库+UML图+数据库分析)
|
存储 缓存 关系型数据库
【MySQL 源码】UNION 比 UNION ALL 的性能差很多吗?
本文从源码角度分析了一下 MySQL 中 union 和 union all 的区别;得出了以下结论: union 和 union all 都会创建临时表, 但是又不太一样; 二者的查询计划不一样;union 默认会创建一个以返回列作为 key 的临时表, 所谓过滤就是将数据插入这个临时表; 临时表装数据的容器实际上是一个 unordered_set; 有一种存储引擎叫做临时表; union all 则是直接读取表的数据并返回给客户端, 不走临时表; union all 和 union 的场景还是得根据需要来判断, 如果没有 distinct 的需求话, 数据又不多, 可以考虑使用 union
242 0
【MySQL 源码】UNION 比 UNION ALL 的性能差很多吗?
|
SQL 关系型数据库 MySQL
golang日常开发系列之三--mysql driver常见问题和源码解析
golang日常开发系列之三--mysql driver常见问题和源码解析
319 0
|
SQL 存储 安全
MySQL 8.0 MVCC 源码解析
本文在此基础上,对 MVCC 展开详细的分析,同时修改了之前的一些不太准确的说法,希望可以助你在面试中更好的发(zhuang)挥(bi)。
417 0
MySQL 8.0 MVCC 源码解析
|
SQL 关系型数据库 MySQL
mysql目录结构与源码
mysql目录结构与源码
255 0
mysql目录结构与源码
推荐文章
更多