Python筑基之旅-MySQL数据库(一)

目录

一、MySQL数据库

1、简介

2、优点

2-1、开源和免费

2-2、高性能

2-3、可扩展性

2-4、易用性

2-5、灵活性

2-6、安全性和稳定性

2-7、丰富的功能

2-8、结合其他工具和服务

2-9、良好的兼容性和移植性

3、缺点

3-1、对大数据的支持有限        

3-2、缺乏全文索引

3-3、缺乏地理空间数据支持

3-4、存储引擎的局限性

3-5、配置和管理复杂性

3-6、安全性问题

4、应用

4-1、Web应用开发

4-1-1、动态网站

4-1-2、内容管理系统(CMS)

4-2、企业应用

4-2-1、企业资源规划(ERP)

4-2-2、客户关系管理(CRM)

4-3、数据分析与数据挖掘

4-3-1、数据仓库

4-3-2、数据挖掘与机器学习

4-4、游戏开发

4-4-1、在线游戏

4-4-2、游戏统计与分析

4-5、移动应用开发

4-5-1、后端数据存储

4-5-2、用户认证与授权

4-6、物联网(IoT)

4-6-1、设备数据存储

4-7、电子商务

4-7-1、购物车与订单管理

4-7-2、库存管理与物流跟踪

4-8、金融与银行业

4-8-1、账户管理

4-8-2、风险管理

5、安装及配置

5-1、版本选择

5-2、下载MySQL 8.0

5-3、安装MySQL 8.0

5-4、配置MySQL 8.0

二、推荐阅读 

1、Python函数之旅

2、Python算法之旅

3、博客个人主页

一、MySQL数据库

1、简介

        MySQL是一个关系型数据库管理系统(Relational Database Management System,RDBMS),由瑞典MySQL AB公司开发,现在属于Oracle旗下产品,是最流行的关系型数据库管理系统之一,尤其在WEB应用方面,它是最好的RDBMS应用软件之一。

2、优点

2-1、开源和免费

        MySQL是一个开源项目,这意味着任何人都可以查看、修改和使用其源代码,它提供了免费的社区版,为开发者和初创企业提供了低成本的解决方案。

2-2、高性能

        MySQL经过优化,能够处理大量的数据和高并发的访问请求,它支持多种存储引擎,如InnoDB(支持事务处理和外键)、MyISAM(高性能全文搜索)等,可以根据不同的应用需求选择合适的存储引擎。

2-3、可扩展性

        MySQL支持分布式架构,可以通过分库分表、读写分离等方式实现水平扩展,它还提供了集群和复制功能,可以确保数据的高可用性和容错性。

2-4、易用性

        MySQL提供了丰富的文档和社区支持,使得学习和使用变得相对容易,它使用SQL语言作为查询语言,与大多数关系型数据库管理系统兼容。

2-5、灵活性

        MySQL支持多种操作系统,包括Linux、Windows、macOS等,它提供了多种编程语言的API和连接器,如Java、Python、PHP等,方便开发者集成到各种应用中。

2-6、安全性和稳定性

        MySQL提供了强大的用户权限和访问控制功能,可以保护数据的安全性,它还提供了数据加密、审计日志等安全特性,确保数据的完整性和可审计性,MySQL经过长时间的测试和优化,具有出色的稳定性和可靠性。

2-7、丰富的功能

        MySQL支持存储过程、触发器、视图等高级功能,使得开发者能够更灵活地操作数据,它还提供了全文搜索、地理空间数据支持、JSON处理等功能,满足不同应用的需求。

2-8、结合其他工具和服务

        MySQL可以与许多流行的开发工具、框架和服务集成,如Docker、Kubernetes、AWS RDS等,这使得开发者能够更轻松地构建、部署和管理MySQL应用。

2-9、良好的兼容性和移植性

        MySQL与其他关系型数据库管理系统(如Oracle、SQL Server等)在SQL语法和功能上具有较高的兼容性,这使得开发者能够更容易地将应用从其他数据库迁移到MySQL上。

        总之,MySQL数据库的开源性、高性能、可扩展性、易用性、灵活性、安全性和稳定性等特点使其成为众多开发者和企业的首选关系型数据库管理系统。

3、缺点

3-1、对大数据的支持有限        

        相比于一些专门为大数据设计的数据库系统(如Hadoop、Spark等),MySQL在处理超大规模数据集时可能会遇到性能瓶颈。

3-2、缺乏全文索引

        在早期的版本中,MySQL的MyISAM存储引擎支持全文索引,但InnoDB存储引擎默认不支持。虽然可以通过第三方插件或搜索引擎(如Elasticsearch)来实现全文搜索,但这会增加额外的复杂性和成本。

3-3、缺乏地理空间数据支持

        MySQL对地理空间数据的支持相对较弱,如果需要处理与地理位置相关的数据,可能需要使用专门的GIS数据库系统或扩展MySQL的功能。

3-4、存储引擎的局限性

        虽然MySQL支持多种存储引擎,但每种存储引擎都有其局限性。例如,InnoDB存储引擎支持事务和行级锁定,但在某些情况下可能会比MyISAM慢;MyISAM不支持事务和行级锁定,但在某些只读或大量读取的场景下可能表现更好。

3-5、配置和管理复杂性

        MySQL的配置和管理相对复杂,需要一定的专业知识和技能,对于初学者来说,可能需要花费更多的时间来学习和掌握。

3-6、安全性问题

        虽然MySQL提供了多种安全功能和权限控制机制,但在某些情况下仍然可能存在安全漏洞或风险,因此,需要定期更新和修补MySQL的安全漏洞,并加强密码管理和访问控制。

4、应用

        MySQL数据库的应用场景非常广泛,几乎涵盖了所有需要存储、管理和查询数据的领域,其常见的应用场景有:

4-1、Web应用开发
4-1-1、动态网站

        MySQL常用于构建动态网站和Web应用程序,如博客、电子商务网站、社交媒体平台等,它可以通过与PHP、Python、Java等后端语言配合,实现用户注册、登录、商品展示、订单管理等功能。

4-1-2、内容管理系统(CMS)

        许多内容管理系统(如WordPress、Drupal、Joomla等)使用MySQL作为其后端数据库,用于存储和管理网站内容、用户数据等。

4-2、企业应用
4-2-1、企业资源规划(ERP)

        ERP系统用于管理企业的各种资源,如财务、人力资源、供应链等,MySQL可以用于存储和查询ERP系统中的数据。

4-2-2、客户关系管理(CRM)

        CRM系统用于管理企业与客户的关系,包括客户信息、销售机会、客户服务等,MySQL可以提供强大的数据存储和查询功能,支持CRM系统的各种业务需求。

4-3、数据分析与数据挖掘
4-3-1、数据仓库

        MySQL可以用于构建数据仓库,将来自不同数据源的数据整合到一个统一的存储库中,方便进行数据分析和数据挖掘。

4-3-2、数据挖掘与机器学习

        虽然MySQL本身不是一个专门用于数据挖掘和机器学习的工具,但它可以作为数据存储和预处理的一部分,与数据挖掘和机器学习算法结合使用。

4-4、游戏开发
4-4-1、在线游戏

        MySQL常用于在线游戏的服务器后端,用于存储和管理游戏数据,如玩家信息、游戏进度、排行榜等。

4-4-2、游戏统计与分析

        通过MySQL存储游戏数据,开发者可以进行游戏统计和分析,了解玩家的行为和喜好,优化游戏体验。

4-5、移动应用开发
4-5-1、后端数据存储

        许多移动应用需要与后端服务器进行交互,MySQL可以作为后端服务器的数据库,存储和管理移动应用的数据。

4-5-2、用户认证与授权

        MySQL可以用于实现移动应用的用户认证和授权功能,确保用户数据的安全性和隐私性。

4-6、物联网(IoT)
4-6-1、设备数据存储

        随着物联网技术的发展,越来越多的设备需要连接到互联网并传输数据,MySQL可以用于存储这些设备的数据,方便进行实时监控和数据分析。

4-7、电子商务
4-7-1、购物车与订单管理

        MySQL可以存储和管理用户的购物车信息、订单详情等,支持电子商务网站的交易流程。

4-7-2、库存管理与物流跟踪

        通过MySQL存储库存信息和物流数据,可以实现库存的实时监控和物流的跟踪管理。

4-8、金融与银行业
4-8-1、账户管理

        MySQL可以存储和管理客户的账户信息、交易记录等,支持金融和银行业务的正常运行。

4-8-2、风险管理

        通过MySQL存储和分析客户的风险数据,银行可以更好地评估和管理风险。

        总之,上述只是MySQL数据库的一些常见应用场景,实际上它的应用领域远不止这些。随着技术的不断发展和业务的不断扩展,MySQL的应用场景也在不断扩大。

5、安装及配置

5-1、版本选择

        版本信息:mysql-installer-community-8.0.37.0

5-2、下载MySQL 8.0

5-2-1、下载地址:MySQL官网下载地址     ,打开mysql-installer-community-8.0.37.0下载页面,选择Microsoft Windows平台,然后根据自身的平台选择32位或者64位安装包,在这里选择32位,单击右侧【Download】按钮。

 5-2-2、单击【Download】按钮后,进入下载界面:

5-2-3、点击【No thanks,just start my download】链接,会弹出【新建下载任务】界面,如下图:

 5-2-4、单击【下载】按钮后,开始文件下载,如下图:

        毕竟这是从境外网站下载,很多时候会限流,但千万不要一直等,可以尝试删除下载链接后,重新单击【Download】下载即可。

5-2-3、在刚刚设置的下载位置【E:\360Downloads】,找到安装文件,如下图:

5-3、安装MySQL 8.0

        MySQL下载完成后,找到下载文件,鼠标左键双击进行安装,具体步骤如下:

5-3-1、双击下载的mysql-installer-community-8.0.37.0.msi文件,开始安装向导。

5-3-2、打开【Choosing a Setup Type】(安装类型选择)界面,共列出了4种安装类型,分别是:Server only(仅作为服务器)、Client only(仅作为客户端)、Full(完全安装)和Custom(自定义安装),我们选择【Custom】(自定义安装)单选按钮,单击【Next>】(下一步)按钮,如下图所示:

5-3-3、在【Select Products】(选择产品) 窗口,依次选择:【MySQL Server 8.0.37 - x64】、【Samples and Examples 8.0.37 - x86】(注:这是我的需求,请根据自身需求增减调整即可)后,单击【→】按钮添加。

若需要更改产品安装路径的,可以在【Products To Be Installed】界面选中产品,单击【Advanced Options】超链接,进入下图中:

 5-3-4、单击【Next>】(下一步)按钮,进入【Installation】(准备安装对话框):

5-3-5、开始安装MySQL相关产品,安装完成后,在【Status】(状态)列表下将显示Complete(安装完成) ,如下图:

5-3-6、 单击【Next>】(下一步)按钮,进入:

5-4、配置MySQL 8.0

        MySQL安装完毕后,需要对服务器进行相关配置。具体配置步骤如下:

5-4-1、在5-3-6节的最后一步中,单击【Next>】(下一步)按钮,将进入【Product Configuration】(产品信息窗口),如下图:

 5-4-2、单击【Next>】(下一步)按钮,将进入【Type and Networking】(服务器类型配置)窗口,采用默认设置,如下图:

        其中,【Config Type】选项用于设置服务器的类型,单击该选项右侧的下拉箭头,即可看到3个选项,如下图:

        3个选项的具体含义如下:

 ※ Development Computer(开发机):该选项代表典型个人用桌面工作站,假定机器上运行着多个桌面应用程序,将MySQL服务器配置成使用最少得系统资源。

Server Machine(服务器):该选项代表服务器,MySQL服务器可以同其他应用程序一起运行,如Web和Email服务器,MySQL服务器配置成使用适当比例的系统资源。

Dedicated Machine(专用服务器):该选项代表只运行MySQL服务的服务器,假定没有其他运行程序,MySQL服务器配置成使用100%的系统资源。

5-4-3、单击【Next>】(下一步)按钮,进入【Authentication Method】(设置授权方式)窗口:

        其中,有两个单选按钮,说明如下:

第1个单选按钮:MySQL 8.0 提供的新的授权方式,采用SHA256基础的加密方法。

第2个单选按钮:传统授权方法(保留了对5.x版本的兼容性)。

        这里,我们选择第二个单选按钮。

5-4-4、单击【Next>】(下一步)按钮,打开设置服务器的密码窗口,如下图:

5-4-5、单击【Add User】(新增用户)按钮后,弹出【MySQL User Account】窗口,如下图:

5-4-6、单击【Next>】(下一步)按钮,打开【Windows Service】窗口,我们可以去掉版本号,保留服务器名称为"MySQL",如下图:

5-4-7、 单击【Next>】(下一步)按钮,打开【Server File Permissions】(服务器文件权限)界面,如下图:

5-4-8、 单击【Next>】(下一步)按钮,打开【Apply Configuration】(应用配置)界面,如下图:

5-4-9、单击【Execute】(执行)按钮,即可完成服务器的配置,如下图:

5-4-10、单击【Finish】 (完成)按钮,打开【Connect To Server】(连接到服务器)界面,如下图:

5-4-11、单击【Next>】(下一步)按钮,打开【Apply Configuration】(应用配置)窗口,如下图:

        单击【Execute】(执行)按钮后,完成配置应用操作。如下图: 

5-4-12、单击【Finish】 (完成)按钮,打开【Product Configuration】(产品配置)界面,如下图:

5-4-13、单击【Next>】(下一步)按钮,进入【Installation Complete】(安装完成)界面,如下图:

        点击【Finish】(完成)按钮,即可完成MySQL数据库的配置操作。 

5-4-14、按键盘组合键【Ctrl+Alt+Del】,打开【任务管理器】窗口,如下图: 

        MySQL服务进程mysqld.exe已经启动了,说明我们已经在Windows 10操作系统环境下成功安装了MySQL数据库。

说明:因每个人的系统环境不一样,安装过程中,难免会遇到这样或那样的问题,在此就不一一展开分析,若有需要提供支持,请加本人微信沟通及交流。 

二、推荐阅读 

1、Python函数之旅

2、Python算法之旅

3、博客个人主页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/632834.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows系统安装OpenSSH使用VScode远程连接内网Linux服务器开发

文章目录 💡推荐 前言1、安装OpenSSH2、VS Code配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网…

threejs的基本属性

1.创建场景,摄像机,渲染器,几何体,材质,网格 网格 物体材质 场景.add(网格),网格加入场景中 场景.add(坐标辅助器) 渲染 场景摄像机 相机的轨道控制器是个单独的对象 import ./style.css import * as THREE from three import { OrbitControls } from three/examples/j…

【重学C++】02 脱离指针陷阱:深入浅出 C++ 智能指针

前言 大家好,今天是【重学C】系列的第二讲,我们来聊聊C的智能指针。 为什么需要智能指针 在上一讲《01 C如何进行内存资源管理》中,提到了对于堆上的内存资源,需要我们手动分配和释放。管理这些资源是个技术活,一不…

新媒体运营十大能力,让品牌闻达天下!

" 现在新媒体蓬勃发展,很多品牌都有新媒体运营这个岗位。新媒体运营好的话,可以提高公司品牌曝光、影响力。那新媒体运营具备什么能力,才能让品牌知名度如虎添翼呢?" 信息收集能力 在移动互联网时代,信息的…

你应该用USB还是或耳机插孔连接你的电脑耳机?这里有详细解释

​如果你有一套有线耳机,可以通过USB连接或传统耳机插孔连接到电脑,你可能想知道使用这两个端口选项的实际区别。 使用耳机插孔 如果你使用传统的模拟电缆将耳机连接到计算机(或任何带耳机插孔的设备),则耳机的作用与…

英码科技算能系列边缘计算盒子再添新成员!搭载TPU处理器BM1688CV186AH,功耗更低、接口更丰富

在数据呈现指数级增长的今天,越来越多的领域和细分场景对实时、高效的数据处理和分析的需求日益增长,对智能算力的需求也不断增强。为应对新的市场趋势,英码科技凭借自身的硬件研发优势,携手算能相继推出了基于BM1684的边缘计算盒…

Google Earth Engine(GEE)深度学习入门教程-Python数据读入篇

Python数据读入篇 前置条件: GEE预处理影像导出保存为tfrecord的数据包,并下载到本地tensorflow的深度学习环境 本篇文章的目的主要是把Tfrecord格式的数据加载为tf可使用的数据集格式 设定超参数 首先需要设定导出时的波段名称和数据格式&#xff…

linux 排查java内存溢出(持续更新中)

场景 tone.jar 启动后内存溢出,假设pid 为48044 排查 1.确定java程序的pid(进程id) ps 或 jps 都可以 ps -ef | grep tone jps -l 2.查看堆栈信息 jmap -heap 48044 3.查看对象的实例数量显示前30 jmap -histo:live 48044 | head -n 30 4.查看线程状态 jstack 48044

于ThinkPHP开发的赛事报名小程序

基于ThinkPHP开发的赛事报名微信小程序 功能包括 1、参赛公告 2、会员中心(会员注册、登录、成绩查询、资料管理、参赛记录管理) 3、个人报名和企业报名 (身份证验证防止重复报名) 4、培训报名 5、查询是否在库人员,根…

深度学习之Pytorch框架垃圾分类智能识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 随着城市化进程的加快和人们环保意识的提高,垃圾分类已成为城市管理的重要一环。然而&am…

git拉取项目前需要操作哪些?

1.输入 $ ssh-keygen -t rsa -C "秘钥说明" 按enter键 2.出现 ssh/id_rsa:(输入也可以不输入也可以) 然后按enter键 3.出现empty for no passphrase:(输入也可以不输入也可以) 然后按enter键 4.出现same passphrase again: (输入也可以不输入也…

4. C++入门:内联函数、auto关键字、范围for及nullptr

内联函数 概念 以inline修饰的函数叫做内联函数,编译时C编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率 对比C的宏 C语言不足:宏 #define ADD(x, y) ((x)(y))int main() {int ret…

java中的HashSet类

一、HashSet类 实现了Set接口,无法存储重复元素 特点:元素位置无序、无索引、底层是HashMap 1、构造方法 内部是HashMap的构造方法 2、add方法 (1)元素在底层存储使用到了三种数据结构:hash数组、链表、树 (2)添加流程(根据…

arcgis 10.6 工具栏操作error 001143 后台服务器抛出异常

arcgis 10.6 工具栏操作error 001143 后台服务器抛出异常 环境 win10arcgis 10.6 问题 执行定义投影要素转线出现 Error: 001143:后台服务器抛出异常(差点重装10.6) 如下图所示: 解决方法 通过在菜单工具条上单击地理处理 > 地理处…

计算机网络学习小结_数据链路层

数据链路和帧 帧:数据链路层传输基本单元。链路层将网络层传过来的数据构成帧发到链路上,并将发到链路层的帧取出数据交给网络层 数据报/分组/包:网络层传输基本单元 三个基本问题 即封装成帧、透明传输、差错检测 封装成帧 概念&#…

尽微好物:从0到10亿+的抖音电商的TOP1“联盟团长”,如何使用NineData实现上云下云

杭州尽微供应链是抖⾳平台⽉均带货10E的TOP1“联盟团⻓”,是字节跳动⼀级代理商,巨量千川指定服务商,拥有商品库9万,是⾏业领先的电商供应链平台,达⼈陪跑机构。 杭州尽微供应链以天猫、京东抖音电商业务为依托&#x…

29.IO流(了解)

1. C语言的输入与输出 ​ C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键 盘)读取数据,并将值存放在变量中。printf(): 将指定的文字/字符串输出到标准输出设备(屏幕)。注意宽度输出和精度输出控制。C语言借助了相应的…

Python全栈自动化测试-Python基础08--循环结构-while

目录 前言 一、while循环 二、while条件 1.while条件--固定值 2.while条件-运算符 三、避免死循环 1.条件不为恒定值 2.条件为恒定值 2.1.避免死循环-continue 2.2.避免死循环-break 2.3.避免死循环-breakcontinue 总结 前言 在Python编程中,循环结构是…

安科瑞汽车充电桩防火限流式保护器灭弧保护

充电桩防火限流式保护器 短路过载保护 充电桩防火限流式保护器 短路过载保护可有效克服传统断路器、空气开关和监控设备存在的短路电流大、切断短路电流时间长、短路时产生的电弧火花大,以及使用寿命短等弊端,发生短路故障时,能以微秒级速度…

软件工程期末复习(5)可行性研究

可行性研究 可行性研究的任务 可行性研究的目的: 用最小的代价,在尽可能短的时间内确定问题是否能够解决。 可行性研究的实质: 就是一次压缩、简化了的系统分析和设计的过程。 可行性研究的路线: 分析和澄清问题定义&#…