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、博客个人主页

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微服务如何做好监控

大家好,我是苍何。 在脉脉上看到这条帖子,说阿里 P8 因为上面 P9 斗争失败走人,以超龄 35 被裁,Boss 上找工作半年,到现在还处于失业中。 看了下沟通记录, 沟通了 1000 多次,但没有一个邀请投递…

uniapp中使用 iconfont字体

下载 iconfont 字体文件 打开 iconfont.css 文件,修改一下 把文件 复制到 static/iconfont/… 目录下 在App.vue中引入iconfont 5. 使用iconfont 使用 iconfont 有两种方式, 一种是 class 方式, 一种是使用 unicode 的方式 5.1 使用 class 的…

【Mac】Dreamweaver 2021 for mac v21.3 Rid中文版安装教程

软件介绍 Dreamweaver是Adobe公司开发的一款专业网页设计与前端开发软件。它集成了所见即所得(WYSIWYG)编辑器和代码编辑器,可以帮助开发者快速创建和编辑网页。Dreamweaver提供了丰富的功能和工具,包括代码提示、语法高亮、代码…

51单片机学习(1)2-1点亮一个LED

#include <REGX52.H> void() { p20xFE;//1111 1110 while(1) { //让程序停了下来了。 } }

教你一分钟搭建适合IT人员的在线开发工具箱

文章目录 1. 使用Docker本地部署it-tools2. 本地访问it-tools3. 安装cpolar内网穿透4. 固定it-tools公网地址 本篇文章将介绍如何在Windows上使用Docker本地部署IT- Tools&#xff0c;并且同样可以结合cpolar实现公网访问。 在前一篇文章中我们讲解了如何在Linux中使用Docker搭…

Anaconda Jupyter 报错及解决方法记录

一、AttributeError: module lib has no attribute X509_V_FLAG_CB_ISSUER_CHECK 背景&#xff1a;Anaconda更新版本后&#xff0c;运行import oss2时报错 ~/anaconda3/lib/python3.8/site-packages/OpenSSL/crypto.py in X509StoreFlags() 1535 NOTIFY_POLICY _lib…

【Java基础】集合(1) —— Collection

存储不同类型的对象: Object[] arrnew object[5];数组的长度是固定的, 添加或删除数据比较耗时 集合: Object[] toArray可以存储不同类型的对象随着存储的对象的增加&#xff0c;会自动的扩容集合提供了非常丰富的方法&#xff0c;便于操纵集合相当于容器&#xff0c;可以存储多…

探索Git之旅:仓库代码版本控制艺术

探索Git之旅&#xff1a;仓库代码版本控制艺术 引言Git基础与核心概念什么是版本控制&#xff1f;Git的工作流程分布式特性 Git实战操作指南安装与配置克隆仓库日常操作分支管理解决冲突 高级技巧与最佳实践Git FlowGit钩子Git别名 安全与性能考量结语与引发讨论 引言 在软件开…

冯喜运:5.16黄金是否突破阻力?黄金原油趋势分析

【黄金消息面分析】&#xff1a;周四(5月16日)亚市盘中&#xff0c;现货黄金延续昨日升势&#xff0c;金价目前最高触及2397.44美元/盎司&#xff0c;为4月19日以来新高。FXStreet首席分析师Valeria Bednarik撰文&#xff0c;对黄金技术前景进行分析。Bednarik指出&#xff0c;…

「51媒体」北京财经媒体有哪些?媒体邀约宣传

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 北京作为中国的首都&#xff0c;拥有众多的财经媒体&#xff0c;这些媒体在财经新闻报道、经济分析、市场研究等方面发挥着重要作用。根据搜索结果&#xff0c;以下是一些北京地区的财经…

富格林:曝光虚假套路规避亏损

富格林指出&#xff0c;在现货黄金市场中&#xff0c;交易时间很充足投资机会也多的是&#xff0c;但为什么还是有人亏损甚至爆仓呢&#xff1f;其实导致这种情况&#xff0c;是因为有一些投资者不知道其中的虚假套路&#xff0c;很容易就一头栽进去了。要规避虚假套路带来的亏…

CV每日论文--2024.5.15

1、Can Better Text Semantics in Prompt Tuning Improve VLM Generalization? 中文标题&#xff1a;更好的文本语义在提示微调中能否提高视觉语言模型的泛化能力? 简介&#xff1a;这篇论文介绍了一种新的可学习提示调整方法,该方法超越了仅对视觉语言模型进行微调的传统方…

Lazyboy品牌发布会“球幕气膜”

Lazyboy品牌发布会“球幕气膜”为品牌活动提供了一个独特、现代化、环保的展示空间。这座球幕气膜不仅为发布会提供了一个视觉震撼的场地&#xff0c;也为与会嘉宾带来了全新的体验。作为轻空间&#xff08;江苏&#xff09;膜科技有限公司&#xff08;以下简称“轻空间”&…

使用Docker在阿里云ECS上部署Gitlab,提供代码托管、CICD 和 docker镜像服务

文章目录 使用Docker在阿里云ECS上部署Gitlab1.购买一个数据&#xff0c;挂载到/data用于存储gitlab相关数据2. 部署docker引擎3. 调整ssh的默认端口&#xff0c;将22端口留给gitlab4. 部署gitlab5. 进入docker容器获取gitlab的默认密码6. 登录gitlab&#xff0c;完成gitlab-ru…

linux ndk编译搭建测试

一、ndk下载 NDK 下载 | Android NDK | Android Developers 二、ndk环境变量配置 ndk解压&#xff1a; unzip android-ndk-r26d-linux.zip 环境变量配置&#xff1a; export NDK_HOME/rd/own/test/android-ndk-r26d/ export PATH$PATH:$NDK_HOME 三、编译测试验证 …

虚函数应用和原理

虚函数的表现形式 用子类初始化父类指针, 调用虚函数时, 仍然调用的是子类的虚函数 测试代码如下 #include <iostream> #include <string.h>using namespace std;class A { public:void test() { cout << a << endl; };virtual void test2 (){ cout …

LeetCode-2589. 完成所有任务的最少时间【栈 贪心 数组 二分查找 排序】

LeetCode-2589. 完成所有任务的最少时间【栈 贪心 数组 二分查找 排序】 题目描述&#xff1a;解题思路一&#xff1a;贪心暴力解题思路二&#xff1a;栈二分查找解题思路三&#xff1a;简化版 题目描述&#xff1a; 你有一台电脑&#xff0c;它可以 同时 运行无数个任务。给你…

解锁电商数据之门:京东商品详情API接口的深度解析与应用指南

一、京东商品详情API简介 京东商品详情API是京东开放平台提供的一项服务&#xff0c;允许第三方应用通过调用接口获取京东商城中商品的详细信息。这些信息包括但不限于商品名称、价格、库存、详情描述、用户评价等。 二、功能特点 数据全面&#xff1a;提供商品的全方位数据…

mac安装两个版本谷歌浏览器;在mac运行不同版本的chrome浏览器

场景 正常情况下&#xff0c;mac上只能安装一个版本的chrome浏览器&#xff0c;即使你安装了两个版本的&#xff0c;打开老旧版本时候也会自动切换成最新版的浏览器 故本文主要解决如何下载和在mac运行不同版本的chrome浏览器 文章目录 场景一、下载1.mac本身就有一个最新版ch…

Java语言saas模式云HIS系统源码 前端Angular+后台SpringBoot云HIS系统源码 HIS系统适合哪些类型的医院?

Java语言saas模式云HIS系统源码 前端Angular后台SpringBoot云HIS系统源码 HIS系统适合哪些类型的医院&#xff1f; 云HIS系统&#xff08;医院信息系统&#xff09;是对医院及其所属各部门的人、财、物进行综合管理&#xff0c;对在医疗活动各阶段产生的数据进行采集、储存、处…