MySQL 01

数据库是什么

  • 存放数据的仓库, 电子化的文件柜

数据库的作用

  • 相较于Excel管理数据:
    1. 可以管理的数据量更大
    2. 可以对数据库进行并发操作
    3. 支持高级操作, 比如分组, 连表等

数据库的分类

关系型

  • 对每一列的数据类型会有约束, 既表结构
    • MySQL ---> 甲骨文, 开源免费, 用的比较多
    • SqlServer ---> 微软, 大学, 政府
    • Oracle ---> 甲骨文, 收费, 金融公司, 阿里
    • Sqlite ---> 小型的文件数据库, 自己玩玩

非关系型

  • 按key-value存储的, 没有表结构

    • memcahce ---> 十年前的产品, 新浪博客
    • mongodb ---> 文档型数据库
    • redis ---> 微博

区别

  • 储存方式: 表结构和key-value
  • 存储位置: 硬盘和内存

mysql的架构

  • 类似于socket的客户端和服务端
  • 流程:
    • mysql服务端先启动, 监听在一个特定的端口 (3306)
    • mysql客户端连接服务端
    • mysql客户端就可以发送相关的操作命令, 去操作服务端存储的数据

补充

  • 记录: 文件中的一行内容
  • 表: 文件
  • 数据库: 文件夹
  • 数据库管理系统: 一个软件, 如MySQL
  • 数据库服务器: 一台计算机, 运行数据库管理软件

mysql的安装

安装相关

  • 反正我装好了

配置相关

  • 初始化 mysqld --initialize-inscure

  • 启动 mysqld

  • 启动客户端连接服务端 `mysql -u root -p

  • 常用参数:

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

    • 关闭mysql服务
    • 在cmd中执行 mysqld --skip-grant-tables 跳过密码验证
    • 在cmd中执行 mysql ---> mysql -uroot -p
    • 执行如下sql指令: update mysql.user set authentication_string=password('') where user = 'root';
    • flush privileges;
    • tskill mysql
    • 重新启动mysql服务

初识mysql

操作数据库

    • create database 数据库名称 charset utf-8;
    • show create database 数据库名;
    • drop database 数据库名;
    • 删除再添加
    • show databases;
原文地址:https://www.cnblogs.com/bigb/p/11752972.html