zoukankan      html  css  js  c++  java
  • day 7-11 初识MySQL数据库及安装密码设置破解

    一. 什么是数据库 

      之前所学,数据要永久保存,比如用户注册的用户信息,都是保存于文件中,而文件只能存在于某一台机器上。

    如果我们不考虑从文件中读取数据的效率问题,并且假设我们的程序所有的组件都运行在一台机器上,那么用文件存取数据,并没有问题

    但需要考虑的问题是:程序的执行效率依赖于承载它的硬件,而一台机器机器的性能总归是有限的,受限于目前的硬件水平,垂直扩展是有极限的。于是我们只能通过水平扩展来增强我们系统的整体性能,这就需要我们将程序的各个组件分布于多台机器去执行。

    需要注意的是,虽然我们将程序的各个组件分布到各台机器,但各组件仍然是一个整体,言外之意,所有组件的数据还是要共享的。但每台机器上的组件都只能操作本机的文件,这就导致了数据必然不一致。

    于是我们想到了将数据与应用程序分离:把文件存放于一台机器,然后将多台机器通过网络去访问这台机器上的文件,即共享这台机器上的文件,共享则意味着竞争,会发生数据不安全,需要加锁处理。。。。

    为了远程访问并处理这台共享机器上的文件,我们必须为我们的程序额外写一段代码,完成如下功能:

    1 #1.远程连接
    2 #2.打开文件
    3 #3.读写(加锁)
    4 #4.关闭文件

      我们写任何程序都需要有这段代码,于是我们提取这段代码,写成一个专门的处理软件,这就是mysql等数据库管理软件的由来,但mysql解决的不仅仅是数据共享的问题,还有查询效率,安全性等一系列问题,总之,把程序员从数据管理中解脱出来,专注于自己的程序逻辑的编写。

    二. 什么是数据

      数据:描述事务的符号记录,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机

    在计算机中描述一个事物,就需要抽取这一事物的典型特征,组成一条记录,就相当于文件里的一行内容,如:

    1  Nick male 20 豫州  计算机系 

      单纯的一条记录并没有任何意义,如果我们按逗号作为分隔,依次定义各个字段的意思:

    id   name    sex     age   adderess   major   #字段
    
    1    Nick   male     20     豫州    计算机系  #记录

      用这样的一条记录来展示一个人的信息,就一目了然.

    总结:

      数据库,顾名思义就是存放数据的仓库,只不过这个仓库是在计算机存储设备上。

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

    数据库管理系统(DataBase Management System 简称DBMS)

     

      在了解了Data与DB的概念后,如何科学地组织和存储数据,如何高效获取和维护数据成了关键

      这就用到了一个系统软件---数据库管理系统

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

      mysql主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码,因为开放源代码这个数据库是免费的,他现在是甲骨文公司的产品。
      oracle主要用于银行、铁路、飞机场等。该数据库功能强大,软件费用高。也是甲骨文公司的产品。
      sql server是微软公司的产品,主要应用于大中型企业,如联想、方正等。

      数据库说白了就是文件夹
      数据库管理系统就是一个软件
      数据库服务器:就是对外专门提供数据的一个机器

    ♥数据库服务器,数据库管理系统,表与记录的关系(重点理解)

      表:student,scholl,class_list(即文件)

      数据库:lzsh_info(即文件夹)

      数据库管理系统:如mysql(是一个软件)

      数据库服务器:一台计算机(对内存要求比较高)

    总结:

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

        数据库管理软件--->管理--->数据库

        数据库---组织--->表,即文件夹---组织--->文件

        表---存放--->多条记录,即文件---存放--->多行内容

     四. mysql安装介绍

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

    mysql是什么?

    mysql就是一个socekt服务端
    客户端软件
      mysql自带
      python模块

    其他类型的数据库?

    sqllite,db2,oracle,access,sql server,MySQL
    分两大类:
      关系型:sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用
      非关系型:mongodb,redis,memcache

    四-1. windows下安装MySQL步骤:  

      基于windows7 x64位系统

      1.下载mysql数据(本例mysql-5.6.40-winx64),官方下载地址: https://dev.mysql.com/downloads/mysql/5.6.html#downloads

      2.把下载的zip包解压到相应的磁盘目录下,例如我解压到D盘根目录下,并改名为mysql5640

      3.进入D盘,打开mysql5640下面的bin目录,复制一下目录路径

      4.在电脑桌面,找到计算机,右键单击--属性--更改设置--高级--环境变量--系统变量里有个Path,选中Path,点编辑,把光标移到最后,输入一个;(冒号),然后把刚刚复制的目录地址粘贴进去,确定即可.

      5打开命令提示符(要使用管理员权限).切换目录到D:mysql5640in.然后输入 mysqld -install 一般都会安装成功.如果不成功,请检查是否切换到mysql下的bin目录里(如果不切换到bin目录下,MySQL服务可能提示 找不到启动文件.)

      6.现在MySQL已经是系统服务了.windows+r,输入services.msc,就能看到一个MySQL的服务,点击启动,就可以了.也可以在命令提示符里输入 net start MySQL来启动.

    注意:如果报错 3534,则需要初始化  mysqld --initialize

    五. 设置和破解MySQL登录密码

      默认情况下,mysql中root是没有密码的,首先我们要先设置一个密码

    use mysql;
    update user set password=PASSWORD("密码") where user="root";
    
    flush privileges;

    设置远程登录:

    GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "密码";

         修改root密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

    #windows下在命令提示符里,linux 在终端里输入
    mysqladmin -uroot password "123"
    # 更改密码
    mysqladmin -uroot -p"123" password "456"
    
    # 以root用户登录.
    #msyql -uroot -p"234" 两种登录方式,推荐下面的
    msyql -uroot -p

      破解MySQL登录密码:

      

    #1.先停止MySQL数据库
    net stop MySQL
    #2. 打开一个命令提示符输入:
    mysqld --skip-grant-tables;   #跳过mysql的启动授权表
    #3.再打开一个命令提示符
     update mysql.user set authentication_string=password("") where user="root and
    host="localhost";        #把root密码设置为空
    #4.打开新的命令提示符,输入
    tasklist |findstr mysqld #mysqld.exe                    7848 Console                    1    455,620 K
    
    taskkill /F /PID 7848  # 终止msyql
    
    #5. 启动MySQL
    net start MySQL
    #6. 再次登录就需要密码了
    mysql -uroot -p

    mysql服务指定配置文件

      修改统一字符编码,在mysql安装目录下,新建一个my.ini的文件.把下面的内容复制进去.

      

     1 #1. 修改配置文件
     2 [mysqld]
     3 default-character-set=utf8 
     4 [client]
     5 default-character-set=utf8 
     6 [mysql]
     7 default-character-set=utf8
     8 
     9 #mysql5.5以上:修改方式有所改动
    10 [mysqld]
    11 character-set-server=utf8
    12 collation-server=utf8_general_ci
    13 [client]
    14 default-character-set=utf8
    15 [mysql]
    16 default-character-set=utf8
  • 相关阅读:
    CodeForces
    4.15随笔
    oracle新建用户并赋予权限等
    catch时,获取异常信息
    ORACLE 判断是否为数字类型
    UNION ALL用法
    2019.11.7随笔
    oracle 查询锁表和解锁
    2019.11.1随笔
    oracle拼接子查询返回的多个结果
  • 原文地址:https://www.cnblogs.com/lovepy3/p/9304225.html
Copyright © 2011-2022 走看看