zoukankan      html  css  js  c++  java
  • MySQL数据库安装和启动

    一、数据库介绍

    • 什么是数据库

      就是存储数据的仓库,也可以说是依照存储数据的介质

    • 为什么要使用数据库

      数据库出来之前使用的是Excel来进行管理数据的

      而Excel不能满足我们的一些需求,如:

      1. 管理不了大量的数据(10W量级的数据)
      2. 不能并发操作同一个数据库表格
      3. 对大量的数据不支持高级操作,比如:分组,连表等。

    二、数据库的分类

    1. 关系型数据库系统

    • 关系型数据库系统就是对每一列的数据的数据类型都会有约束的数据库系统。

    2. 当下的关系型数据库系统

    • PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统,PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。可扩展性非常高。
    • MySQL , mariadb ——》 两个都是同一个公司的产品,都免费,而MySQL 用的比较多
    • SQLserver ——》微软的产品,大学、政府用的较多,收费
    • Oracle ——》甲骨文产品,收费,金融公司,阿里用的较多
    • sqlite ——》小型文件数据库,自己玩玩

    3. 当下的非关系型数据库系统

    存储数据的方式:类似字典的存储,值可以是任意数据类型。

    {"name":'zekai'}
    {"name":12}
    {"name":[]}
    {"name":{}}
    
    • memcache ——》十年前的产品 (新浪博客)
    • MongoDB ——》文档型数据库系统,把数据放在内存中,但是没有解决内存数据断电即消失的问题。
    • Redis ——》微博使用 ,将数据保存在内存中,而且还解决了内存数据断电即消失的问题。是现在非关系型数据库系统中主流使用的一个。

    4. 关系型和非关系型数据库系统的区别

    • 关系型数据库系统:把数据存在硬盘中
    • 非关系型数据库系统:把数据存在内存中

    三、MySQL的架构

    • MySQL的架构类似socket的客户端和服务端

    • 流程:

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

      2. MySQL客户端连接服务端

      3. MySQL客户端就可可以发送相关的操作命令,取操作服务端存储的数据。

    四、MySQL的安装和启动

    1. windows下安装MySQL:

    1. 下载:

      去官网下载MySQL,MySQL官网 ,下载 MySQL Community Server 5.7.28 。注意:对于数据库系统这样关系到非常重要的数据的应用程序,我们一般不使用最新版本。

    2. 添加环境变量:

      把解压后的文件移动到自己想存放的路径下。再将文件中的bin文件夹的路径添加到系统环境变量。

    3. 初始化:

      打开command终端,输入mysql --initializw-insecure

    4. 启动MySQL服务:

      输入mysqld 启动MySQL服务 ,之后MySQL服务端开始监听。

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

      另外开启一个command终端,输入mysql -u root -p,初始密码为空,直接回车。

    6. 成功启动MySQL

    2.制作windows的服务

    • 在上面的启动MySQL服务中,启动服务之后,command就会阻塞住,而且每次使用MySQL都要启动一次MySQL服务,非常麻烦。所以我们制作一个windows的服务,让MySQL服务一直启动。
    • 制作方法:打开终端,输入解压文件中,bin文件下的mysqld的路径,用双引号引住,再空格,后面加上--install 。如"D:mysql-5.7.28inmysqld" --install

    3. 修改MySQL密码

    (1)记得原密码时修改密码

    以管理员启动终端:
    C:Windowssystem32>mysqladmin -uroot -p "原密码"  password  "新密码"
    
    出现的错误
    			C:Windowssystem32>mysql -uroot -p
    			Enter password:
    			ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    		如果出现上述错误,代表密码输入错误
    

    (2)不记得原密码时修改密码

    #1 关闭mysqld的服务
    #2 在cmd中执行:mysqld --skip-grant-tables  ===》 不用密码就可以登录,绕过密码验证的权限
    #3 在cmd中执行:mysql   ===》 mysql -uroot -p 
    #4 执行如下sql指令:
    update mysql.user set authentication_string=password('') where user = 'root';
    flush privileges; (一定要有这个操作)
    #5 tskill mysqld #或taskkill -f /PID 7832
    #6 重新启动mysql服务
    	
    

    4. 常用参数

    -u	: user 用户名
    -p	: password 密码	
    -h	: host 主机名或ip	mysql -uroot -p -h 192.168.1.10
    -P	: port 默认是3306	mysql -uroot -p -h 192.168.1.10 -P 3307
    

    五、数据库的三大范式

    六、初识MySQL

    注意:任何sql语句在结尾都要加上英文的分号,而在使用 use这一sql语句时可加可不加

    1. 操作数据库

    增:
    			create database  数据库名称 charset utf8;
    			命名规范:
    				可以由字母、数字、下划线、@、#、$
    				区分大小写
    				唯一性
    				不能使用关键字如 create select
    				不能单独使用数字
    				最长128位
    			
    			show create database 数据库名;
    			
    删:
    			drop database 数据库名称;
    改:
    			删除再添加
    			如果数据库中有数据的话,直接drop会导致数据库中的数据丢失
    			在线上环境,不能够直接删除数据, 在删除之前,需要进行备份
    			
    查: 
    			show databases;
    				使用数据库:
    			use 数据库名;
    
  • 相关阅读:
    (转载)构建public APIs与CORS
    SpringMVC 参数注入
    java删除文件夹
    idea 自动提示生成 serialVersionUID
    JSP自定义tag
    gradle中使用嵌入式(embedded) tomcat, debug 启动
    spring in action 4th --- quick start
    Date, TimeZone, MongoDB, java中date的时区问题
    spring boot 添加拦截器
    HTTP status code
  • 原文地址:https://www.cnblogs.com/Mcoming/p/11752973.html
Copyright © 2011-2022 走看看