• day33


    Mysql
    一、数据库是什么?
    字面意思:存数据的仓库

    二、为啥使用数据库?(*****)
    Excel的缺点:

    1.管理不了大量的数据(10w量级以上的数据)

    2.不能并发操作同一个数据表格

    3.数据库支持一些高级的操作:分组,连表等

    三、数据库的分类(*****)
    1.关系型数据库

    对每一列的数据类型都有约束,ID(整型)name(字符串)等

    MySQL,SqlServer,oracle,sqlite,maridb等

    MySQL是用的比较多,主要是免费

    SqlServer微软的,只有大学、政府用的比较多

    oracle:甲骨文的,收费,金融公司(安全度高)、阿里

    sqlite:小型的文件数据库,自己玩一玩

    maridb:和MySQL一个人开发的

    2.非关系型数据库

    memcache没有解决

    mongodb,文档型数据库,用的不太多,解决了掉电内存数据丢失的问题

    Redis:微博使用,解决了掉电内存数据丢失的问题

    用{“key”:‘value’}进行存储数据

    3.关系型与非关系型区别:

    关系型数据库,把数据存在硬盘中

    非关系型,把数据存在内存中(速度快)

    四、数据库MySQL的架构
    类似于socket的客户端和服务端

    流程:

    1.MySQL服务端先启动,监听在某一个特定的端口(3306)

    2.MySQL客户端连接服务端

    3.MySQL客户端就可以发送操作命令,去操作服务端的数据。

    五、数据库的安装
    windows 安装:去官网找资料(学习的方法)安装,

    MySQL软件官方下载地址(https://dev.mysql.com/downloads/mysql/),个人感觉下载压缩包版比下载安装包办的要好,因为安装包版的默认安装路径为系统盘,整个数据库有1.8G左右,太占系统盘存储。

    1.安装步骤:

    1.解压

    想将数据库安装到哪个盘就将数据库解压到哪个盘(独立的一个文件夹)

    2.添加环境变量

    【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》(win10直接搜环境变量就可以到这一步)【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】

    bin下面的mysql是客户端,mysqld是服务端

    3.初始化

    在cmd界面输入mysqld --initialize-insecure对数据库进行初始化。

    4.启动MySQL服务

    输入:mysqld

    5.启动mysql客户端并连接到mysql服务端

    输入指令:mysql -u root -p

    6.将mysql服务制作成windows服务

    制作MySQL的Windows服务,在终端执行此命令:

    "c:mysql-5.7.16-winx64inmysqld" --install

    移除MySQL的Windows服务,在终端执行此命令:

    "c:mysql-5.7.16-winx64inmysqld" --remove

    注意:引号内的路径是bin目录下的mysqld路径必须是绝对路径。

    2.启动mysqd的两种方式:

    1.启动服务cmd端输入 net start mysql

    停止服务cmd端输入net stop mysql

    2.如下图,在计算机的计算机管理里面手动进行启动、停止、重启服务端!

    以上是5.6、5.7版本安装的全部过程。

    3.密码的修改操作

    在上面的流程走完之后软件的root权限密码默认为空,第一次修改密码时输入下面指令(在cmd窗口,管理员身份运行cmd,在cmd下输入,不是在mysql下输入):

    mysqladmin -uroot -p password "要设置的密码"

    第二次以及以后修改密码则输入下面的指令

    mysqladmin -uroot -p"原密码" password "新密码"

    4.如果密码忘掉了,修改密码方法:

    1)5.6版本mysql修改密码方法

    1 关闭正在运行的MySQL服务。
    2 打开DOS窗口,转到mysqlin目录。
    3 输入mysqld --skip-grant-tables 回车。–skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
    4 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysqlin目录。
    5 输入mysql回车,如果成功,将出现MySQL提示符 >。
    连接权限数据库: use mysql; 。
    6 改密码:update user set password=password(“123”) where user=“root”;(别忘了最后加分号) 。
    7 刷新权限(必须步骤):flush privileges; 。
    8 退出 quit。
    注销系统,再进入,使用用户名root和刚才设置的新密码123登录。

    2)5.7版本

    1 关闭mysqld的服务
    2 在cmd中执行:mysqld --skip-grant-tables =》 不用密码就可以登录,绕过密码验证的权限
    3 在cmd中执行:mysql =》 mysql -uroot -p
    4 执行如下sql指令:
    (特别注意,此处5.7版本与5.6不一样)update mysql.user set authentication_string=password('') where user = 'root';

    5 flush privileges; (一定要操作)
    6 重新启动mysql服务

    六、初识Mysql
    SQL指令

    1)操作数据库

    查看当前用户: select user();

    数据库的命名规范:

    可由字母、数字、下划线、@、#、$组成,区分大小写,不能使用关键字如create 、select等,不能单独使用数字,最长不能超过128位

    增 create database 数据库名称 charset utf8;

    删 drop database 数据库名称;

    改:先删除再添加,如果数据库有数据的话,直接drop会导致数据库中的数据丢失,在线上环境,不能够直接删除数据,在删除数据之前需要先进行备份

    查 show databases;

    使用数据库 use 数据库名;

    确定当前使用的数据库: select database();

  • 相关阅读:
    《Apache服务用户身份验证管理》RHEL6.3
    什么是WEB服务器?
    《squid网卡代理的实现》RHEL6.3——条理清晰,步骤明确
    转:【Java并发编程】之十一:线程间通信中notify通知的遗漏(含代码)
    转:【Java并发编程】之十:使用wait/notify/notifyAll实现线程间通信的几点重要说明
    转:【Java并发编程】之九:死锁(含代码)
    转:【Java并发编程】之八:多线程环境中安全使用集合API(含代码)
    转:【Java并发编程】之七:使用synchronized获取互斥锁的几点说明
    【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
    转: 【Java并发编程】之五:volatile变量修饰符—意料之外的问题(含代码)
  • 原文地址:https://www.cnblogs.com/xwjhyy/p/11761626.html
Copyright © 2020-2023  润新知