zoukankan      html  css  js  c++  java
  • 数据库开发——MySQL——简单介绍和安装

    数据库

    数据实际上就是描述事物特征的一组符号,数据库指的就是存储数据的仓库。

    基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上。

    在软件开发过程中,程序的所有组件不可能只运行在一台机器之上,如果这台运行的机器出故障了则意味着整个软件的崩溃,并且程序的执行效率依赖于承载它的硬件,而一台机器机器的性能总归是有限的。

    因此,对于程序不同的组件,应该运行在不同的机器上,并且还有备用机器,如果其中一台机器出故障了,备用机器能够迅速接替,保证程序运行的稳定性。

    那现在,我的程序运行在了不同的机器上,要读取文件的话该怎么办?总不能在所有的机器上都拷贝一份所需文件吧,先不说浪费的硬盘资源,我如果某台机器要对其中一个文件进行改动,那么所有的机器必须同步进行改动,那就更麻烦了。

    基于这种需求,我们可以专门调用一台数据存储机器,程序运行所需的所有文件都放在这台机器上,其它机器需要的时候,可以通过套接字通信来获取或改动。

    好了,现在有了这样一台机器,接下来就需要开发一套运行在存储数据机器上的服务端和运行的其它机器上的客户端的套接字文件数据通信系统。

    这么一个系统,需要考虑的问题很多,比如,不同的机器同一时间访问同一个文件需要考虑文件加锁,不同文件之间的数据可能存在关系应该怎么整合,而且,不同的人开发的系统肯定不一样,我可能用get表示获取文件内容,但是别人可能用wget获取文件内容。

    一系列的问题,造成了很大的混乱,不同的人开发的数据库乱七八糟,最后,终于有一个站出来了,说你们都别吵了,我开发了一套很完美的数据库系统,你们都直接用我的不就行了,我保证把数据给你们维护好。

    由于它做的数据库管理软件确实很完美,大家也就接收了,这样MySQL就诞生了。

    概念理解

    数据库服务器:运行数据库管理软件

    数据库管理软件:管理数据库

    数据库:即文件夹,用来组织文件/表

    表:即文件,用来存放多行内容/多条记录

    记录:多个字段的信息组成一条记录,即文件中的一行内容

    数据库(DataBase,简称DB)与数据库管理软件(DataBase Management System 简称DBMS)

    数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。

    数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

    如何科学地组织和存储数据,如何高效获取和维护数据成了关键,这就用到了一个系统软件—数据库管理系统。

    MySQL、Oracle、SQLite、Access、MS SQL Server …

    现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。

    所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

    mysql主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码,因为开放源代码这个数据库是免费的,他现在是甲骨文公司的产品。

    oracle主要用于银行、铁路、飞机场等。该数据库功能强大,软件费用高。也是甲骨文公司的产品。

    sql server是微软公司的产品,主要应用于大中型企业,如联想、方正等。

    数据库管理软件分类

    关系型

    关系型数据库需要有表结构,sql语句通用

    如sqllite,db2,oracle,access,sql server,MySQL,

    非关系型

    非关系型数据库是key-value存储的,没有表结构

    mongodb,redis,memcache

    MySQL

    介绍

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。

    MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

    关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

    MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。

    MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

    安装

    Windows版本

    1.下载
    官网
    我的资源

    2.解压
    如果想要让MySQL安装在指定目录,那么就解压到指定文件夹。
    在这里插入图片描述
    3.添加环境变量
    Windows10直接搜索:高级系统设置
    在这里插入图片描述
    点击环境变量:
    在这里插入图片描述
    找到path变量编辑:

    在这里插入图片描述

    将MySQL的bin目录路径追加到变量值中:
    在这里插入图片描述
    最后一路确定回去:
    在这里插入图片描述
    4.初始化
    打开Windows终端,运行下述命令初始化:

    mysqld --initialize-insecure
    

    这个过程时间会久一点,耐心等待,当然要是超过十分钟还不好那就是出问题了。
    在这里插入图片描述

    5.制作MySQL的Windows服务
    然后再开一个以管理员身份运行终端运行下述命令制作MySQL的Windows服务:

    D:MySQLinmysqld --install
    

    在这里插入图片描述
    注册成服务之后,以后再启动和关闭MySQL服务时,打开Windows的服务:
    在这里插入图片描述
    找到MySQL就可以启动、停止或重启动服务了。

    或者也可以通过以管理员身份运行的终端执行下列命令:

    # 启动MySQL服务
    net start mysql
    
    # 关闭MySQL服务
    net stop mysql
    

    6.登录

    然后打开终端,输入下述命令进入MySQL的管理员账号:

    mysql -u root -p
    

    显示

    Enter password:
    

    不用在意,直接回车就可以进入:
    在这里插入图片描述
    7.设置密码
    刚才咱们是直接就登录了,没有输入密码,显然这样是不安全的,你想想,如果你的电脑落在了别人手里,别人就可以直接登录你的数据库删除你的数据了。

    所以我们要设置MySQL的登录密码,以管理员身份打开终端执行下述命令:

    mysqladmin -uroot password "123"        
    

    设置初始密码 由于原密码为空,因此-p可以不用

    mysqladmin -uroot -p"123" password "456"        
    

    修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码

    设置完密码之后如果登录还不输入密码的话登录就会失败了:
    在这里插入图片描述
    8.破解密码

    如果你时间久了忘记了密码,这时候就需要破解密码了,MySQL破解密码有如下6步:
    
    1.关闭MySQL,可以通过终端也可以通过服务
    
    2.在终端执行mysqld --skip-grant-tables
    
    3.在终端执行mysql
    
    4.执行下述SQL语句:
    
    	update mysql.user set authentication_string=password('') where user = 'root';
    	flush privileges;
    
    5.退出mysql,干掉mysqld进程:tskill mysqld
    
    6.重新启动mysql
    

    统一字符编码

    字符编码的问题可以说是:不遇到还好,遇到就头疼,解决字符编码的问题通常及其麻烦。

    因此,为了避免以后的麻烦,必须先把MySQL的字符编码统一了。

    先来看一下初始的字符编码,已管理员身份运行终端,登录mysql执行下述命令:

    s
    

    就可以看到mysql的字符编码:

    在这里插入图片描述
    修改字符编码步骤:

    1.编写配置文件

    在MySQL的安装路径编写配置文件my.ini:

    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    

    2.重启MySQL服务

    在这里插入图片描述

    现在重新查看字符编码:

    在这里插入图片描述

    可以发现,字符编码都被改为utf8编码了。

  • 相关阅读:
    关于左边图片右边列表的新闻布局模式
    Yahoo!团队实践分享:网站性能优化的34条黄金守则(三)—JavaScript和CSS
    Yahoo!团队实践分享:网站性能优化的34条黄金守则(二)—服务器
    浅谈HTTP中Get与Post的区别
    司徒大人的面试题,自勉~
    善待PSD — 好设计师,从细节做起
    Yahoo!团队实践分享:网站性能优化的34条黄金守则(一)—内容
    恕我简陋,恕我臃肿
    【svg+vml】部分尝试
    记录:关于Drag&Drop Upload
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12338011.html
Copyright © 2011-2022 走看看