• Mysql 数据库开发简介与选择


    文章目录

    • 前言
    • 一、为什么要使用数据库
      • 数据库的概念
      • 为什么要使用数据库
    • 二、程序员为什么要学习数据库
    • 三、数据库的选择
      • 主流数据库简介
      • 使用MySQL的优势
      • 版本选择
    • 四、Windows 平台下安装与配置MySQL
      • 启动MySQL 服务
      • 控制台登录MySQL命令
    • 五、Linux 平台下安装与配置MySQL
    • 总结


    前言

    程序员Jack还是在在校学习期间,就听高年级的大哥忠告,“小伙子,搞编程,想要成为最牛逼的程序员,一定要学好C/C++语言和数据结构及算法”,Jack谨记了这句忠告,因为这位高年级的哥们还没毕业就已经被BAT公司预定,在学校那是风光无限,得到了很多高年级美女学姐的青睐。

    经过一段时间的刻苦学习,Jack终于把C++ 和数据结构还有算法学得有点模样了,不自觉就进入初级装逼模式,在同学面前那是指手画脚,趾高气昂。。。。

    这种状态一直持续到实习期间,Jack 进入一家小有名气的游戏开发公司实习,被安排到一个棋牌游戏的项目组。项目组的项目经理颇为认同新来的Jack 同学(因为面试时问到的C++和数据结构相关的试题,只有Jack 力压群雄,达到了项目经理的要求,甚至有几年工作经验的程序员都搞不定的A*算法,Jack也是对答如流!),并没有给他安排一些意义不大的杂活给他干,而是编制为开发团队的正式一员,享受正式员工的待遇!此时的Jack 意气风发,代码撸的更加卖力了,因此也很快融入了开发团队中。。。

    有一天,项目组的小组长给Jack分配了一个新的任务,让Jack 实现用户登陆模块,具体需求如下:

    1. 游戏玩家访问游戏客户端,通过客户端界面输入用户名和密码
    2. 在游戏玩家点击确认后,客户端连接至数据库服务器对用户名和密码进行确认,

             如果验证成功,则 玩家可以进入大厅,如果失败,则不允许进入!

         3. 。。。

    啊! 数据库! 什么东东?

    因为项目需要,Jack 马上紧张起来,翻阅各种资料,耗费了几个废寝忘食的日日夜夜,才从以下几个方面搞清楚了 why do we need database


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、为什么要使用数据库

    数据库的概念

    数据库概念Database),就是按照数据结构来组织、存储和管理数据,建立在计算机存储设备上的仓库。我们可以把数据库看成电子化的文件柜,也就是存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。

    为什么需要数据库

    一般情况下,要保存用户的数据,一个最简单的方法是把用户数据写入文件。例如,要保存用户的密码信息,可以写入下面的文件中txt文件:

    id,name,passwd

    1,小明,123456

    2,小红,654321

    3,小军,888888

    4,小丽,666666

    保存用户购买的道具prop.txt

    id,prop,price,num

    1,金戒指,12,1

    1,银戒指,10,1

    2,房卡,10,10

    3,鲜花,2,6

    1,房卡,10,100

    ... ...

    但是,随着应用程序的功能越来越复杂,数据量越来越大,如何管理这些数据就成了大问题:

    1. 读写文件并解析出数据需要大量重复代码;
    2. 从成千上万的数据中快速查询出指定数据需要复杂的逻辑。
    3. 数据缺乏安全感

    如果每个应用程序都各自写自己的读写数据的代码,一方面效率低,容易出错,另一方面,每个应用程序访问数据的接口都不相同,数据难以复用。

    所以,数据库作为一种专门管理数据的软件就出现了。应用程序不需要自己管理数据,而是通过数据库软件提供的接口来读写数据。至于数据本身如何存储到文件,那是数据库软件的事情,应用程序自己并不关心:

    这样一来,编写应用程序的时候,数据读写的功能就被大大地简化了。

    二、程序员为什么要学习数据库

    1. 几乎任何一个企业级应用,都要用到数据库。
    2. 无论开发、测试、运维还是架构师,数据库都是加分神器!
    3. 小的软件企业分工不明确,全能型人才能得到更多的机会(就业和提升)
    4. 外包和自由程序员必备

    三、数据库的选择

    主流数据库简介

            当今市面上的数据库产品众多,每种数据库都有自己的优势和缺点,或出于数据库的性能和易用性考虑,或出于商用和开源考虑,如何选择自己合适的数据库产品,成为重中之重!

       

    主要的数据库产品有如下几种:

            Oracle - 作为一种商业性数据库,在事务处理方面有自己独到的优势,功能比较强大,市场占有率也比较高。oracle数据库是一种大型的关系型数据库,在使用上会收费。在部署上,可以根据自己的环境采用单节点或者集群部署。经常会使用于银行和金融机构,存储大量数据,可以对海量数据进行分析处理,在安全性上使用访问控制和多种数据备份机制,可靠性高。

            Mysql - 作为一种开源的轻量级数据库,在开源数据库中比较流行,由于小巧安装方便快捷,经常会用于互联网公司,维护也比较方便。因为开源,使用上比较灵活,mysql还有许多第三方的存储引擎,可以根据自己的需要进行安装。在功能上mysql可能没有oracle强大,但是对于资源的占用非常少,数据恢复快。在维护上,追求稳定的性能和易用性。

            Redis - 作为一种缓存数据库,对于数据的读写特别快,redis之所以快,是因为它数据放在内存中,但是内存比较贵,另一方面,内存也是有限制的,当内存不够时,就需要使用redis的分布式方案。redis作为一种非关系型数据库,可以适用于高并发场景,配合关系型数据库作为做高速缓存,也可以降低磁盘IO,使用键值对存储,不适用于结构复杂的sql数据

    另外MongoDB, SQL Server等数据库也是常用的数据库。

    使用MySQL 的优势

            如今很多主流网站都选择MySQL数据库来存储数据,比如阿里巴巴的淘宝。那么,MySQL到底有什么优势,吸引了这么多用户?主要是基于以下几点原因:

    开源

            开源软件是互联网行业未来发展的趋势。MySQL是开放源代码的数据库,这就使得任何人都可以获取MySQL的源代码,并修正MySQL的缺陷,并且任何人都能以任何目的来使用该数据库,这是一款自由使用的软件。对于很多互联网公司来说,选择使用MySQL是一个化被动为主动的过程,无须再因为依赖封闭的数据库产品而受牵制。

    成本因素

            MySQL社区版是完全免费的,企业版基于服务和支持收费。相比之下,OracleDB2SQL Server价格不菲,再考虑到搭载的服务器和存储设备,那么成本差距是巨大的。

    跨平台性

            MySQL不仅提供Windows系列的版本,还提供UNIXLinuxMac OS等操作系统对应的版本。因为很多网站都选择UNIXLinux作为网站的服务器,所以MySQL具有跨平台的优势。

    容易使用

            MySQL是一个真正的多用户、多线程SQL数据库服务器,能够快速、高效、安全地处理大量的数据。MySQLOracle性能并没有太大的区别,在低硬件环境下,MySQL分布式的方案同样可以解决问题,而且成本比较经济,从产品质量、成熟度、性价比来讲,MySQL都是非常不错的。另外,MySQL的管理和维护非常简单,初学者很容易上手,学习成本较低。

    版本选择

            MySQL从5.7版本直接跳跃发布了8.0版本,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上做了显著的改进与增强,不仅在速度上得到了改善,还提供了一系列巨大的变化,为用户带了更好的性能和更棒的体验。

    四、Windows 平台下安装与配置MySQL

    免费下载网址:MySQL :: Download MySQL Installer

    版本选择 :社区版8.0.12

    启动MySQL  服务

    • 图形化界面启动

    右击“计算机”,在快捷菜单中选择“管理”命令,如图1-25所示,打开“计算机管理”对话框。也可以执行“开始”|“控制面板”|“管理工具”|“服务”来启动服务。

    • 命令行启动

       查看服务命令:  net start

       关闭服务命令:   net  stop  MySQL80

       启动服务命令:   net start  MySQL80

    控制台登陆MySQL命令

    mysql -h 127.0.0.1 -uroot -密码

    五、Linux 平台下安装与配置MySQL

    后面再介绍,持续更新中(个人笔记)


    总结

            选择数据库时,既要考虑成本,还有考虑维护的稳定和便利性,结合自己的设备规模。最重要的,需要结合我们的业务,如果高安全性,海量数据,能承担高昂的成本,可以选择oracle;一般应用的快速查询,高并发访问,一般情况下都可以选择mysql,另外特殊情况特殊处理!

  • 相关阅读:
    点阵 LED 显示设计实验
    分层强化学习 综述论文阅读 Hierarchical Reinforcement Learning: A Comprehensive Survey
    Ubuntu释放VirtualBox虚拟硬盘文件大小
    前端研习录(19)——JavaScript条件语句合集
    为什么大家会觉得考PMP没用?
    Java泛型中的 “?super T“ 与 “?extends T“ 有何不同
    第9章 无监督学习
    LeetCode每日一题——1732. 找到最高海拔
    kali工具熟悉——网络扫描
    INI文件读写
  • 原文地址:https://blog.csdn.net/m0_65635427/article/details/127861225