首页 > 数据库 >数据库mysql

数据库mysql

时间:2023-07-10 20:34:25浏览次数:48  
标签:-- 数据库 mysql MySQL 服务端 客户端

数据的演变史

'''以ATM为例'''
1. 把数据存在了文件中
    文件名:user.txt、userinfo.txt
    数据格式:kevin|123、kevin@123、kevin!123
    
2. 软件开发目录规范
    db文件夹
        # 专门用来存储数据文件,但是,当数据文件较多的时候,占用过多的资源,也会产生很多的文件
        
3. 数据库阶段
    # 解决了以上所有的问题
    """采用统一的存储格式"""

数据的发展史

1. 单级游戏阶段
    # 数据会单独存放在每一台计算机上,不是实现数据的共享

2. 联网游戏阶段
    # 实现了数据的共享、把数据单独存放在服务器上面(一台计算机)

数据的分类

1、关系型数据
    MySQL、Oracle、SQLserver、DB2、sqllite、access、MariaDB等
    
    # MySQL数据库:开源的
    # MariaDB
    # Oracle:收费的
    """以上两款数据库是同一个作者"""
    
2、非关系型数据库
    Redis(缓存数据库)、memcache(缓存数据库)、mongoDB(爬虫等)
    """Redis数据库是目前市面上使用最多的"""
    # Redis数据库把memcache淘汰了,没有用memcache(老项目之前用的,现在没有更换,还再用)
    Redis能做的事情,memcache不能做
    memcache不能做的使用,Redis都能做
    Redis支持的数据类型要比memcache多的多

二者的特点:
    1. 关系型数据库顾名思义就是可以建立关系
        # 拥有固定的表结构,表与表之间可以建立表关系
     2. 非关系型数据不能够建立表关系
        # 它是以K:v键值对的形式存在的
        # 压根就没有表的概念

数据库的本质

本质:其实是一款C/S架构的软件

C/S架构的软件必须是有客户端和服务端的,理论上来说,我们自己也能够开发出一款数据库软件,只不过你开发的数据库软件是没有人使用的,除非你自己自嗨。

所以,你会市面上有很多NB的程序员开发出了很多的数据库软件,因此,你也看到了的确存在了很多的数据库

"""要站在巨人的肩膀上才能走的更高!,很多事情不要想着什么都自己来做"""

SQL与NoSql的由来

对于关系型数据库,为了兼容各个客户端,所以,每个客户端都要使用MySQL语言,而这个MySQL语言就是我们说的SQL语句----->关系型数据库

非关系型数据库:Nosql语句

MySQL的介绍

# 版本的介绍
MySQL5.0 (版本不稳定)
MySQL5.5 (用的很少,老项目还再用)
MySQL5.6 (老项目用的比较多,版本很稳定)
MySQL5.7 (新项目在选择数据库的时候,使用的就是这个版本了)
MySQL8.0 (最新版本,现在生产环境用的还不是很多)

"""在IT领域,生产环境尽量不要使用最新版本,因为,新版本毕竟没有经过大量的测试,不够稳定"""

生产环境:你的项目上线之后的环境
测试环境:你在本地自己玩,无所谓了

# 尽量使用5.6之后的版本,
如果你之前已经装过其他版本了,也无所谓,反正是测试阶段,用哪个版本都行,但是,最后跟我的版本一致

你卸载的时候,使用了不正确的卸载方式,卸载了MySQL,那么,有可能在你的电脑上留下很多的残留文件,你再次去安装的时候,有可能装不上,

你可以下载一个杀毒软件,可以检测你电脑上的残留垃圾文件,把检测出来的垃圾文件删除即可

 

MySQL的下载与安装

1 下载
官网下载链接:https://downloads.mysql.com/archives/community/
·········································
2 下载完,如何使用?
    下载出来是压缩包,直接解压使用
·········································
3 MySQL的主要文件介绍
    bin:存放mysql的一些启动文件
        mysql.exe:MySQL自带的客户端
        mysqld.exe:MySQL自带的服务端
    data:mysql数据的存储文件夹
    my-default.ini:MySQL的配置文件
    README:MySQL的说明文件
·········································
4 MySQL如何启动
    '由于MySQL是有客户端和服务端的,因此,我们要启动服务端和客户端来使用'
    # 一定要先启动服务端:mysql.exe
    # 然后再启动客户端去连接服务端
    

'启动服务器':mysqld  '启动客户端' mysql ---exit
 '关闭服务器' :cltr + c  '关闭客户端':exit
    如何启动:
        1 先切换路径到bin目录下
            打开cmd-->输入mysql启动服务端-->再打开一个cmd窗口-->输入mysql连接服务器
        2 客户端连接上服务端之后,如何退出客户端
            exit
         3 服务端启动之后,如何终止(停掉)服务端
            cltr + c
'localhost : 代表的是本机'
'127.0.0.1 :代表的也是本机' 
'某些情况下,这两个是有区别的'
·········································
5 加入环境变量
    x:xxxx\xxxxx\bin(数据库的路径)加入到环境变量中,达到在任何位置都可以找到服务端和客户端程序
·········································
6 系统服务制作
    1 先打开cmd窗口
        mysqld --install # Service successfully installed
        #第一次安装,需要手动启动按钮
    2 如何启动服务
        1 鼠标点击启动按钮
        2 net start mysql
    3 如何关闭服务
        1 鼠标点击启动按钮
        2 net stop mysql
    4 如何卸载MySQL服务
        mysqld --remove
'以上操作都需要管理员权限'
7 卸载MySQL
    1 先卸载服务
    2 再关闭服务器
    3 直接删除MySQL的文件夹
    

管理员修改密码

# 登录mysql
1 游客模式登录 mysql
    # 功能很少,权限很低
    
2 管理员登录:mysql -u root -p # 直接回车就登录成功了
3 如果你连接的是别的电脑上的数据库,需要指定ip和port
    mysql -h 127.0.0.1 -p 3306 -u root -p 123
4 给管理员设置密码
    mysqladmin -u root -p 旧密码 password 新密码
5 如果密码忘记怎么办?
    '使用跳过授权表的形式'
    1 先把服务器关闭
    2 使用'跳过授权表'的形式启动服务端
        mysqld # 不跳过授权表
        mysqld --skip-grant-table # '跳过授权表'
        '跳过授权表的意思:客户端再连接服务端的时候,不要验证密码了,直接登录成功'
    3 再次使用管理员账号来登录进去,就不需要密码了。
        # 进入mySQL,需要修改密码
        update mysql.user set password=password('root') where Host='localhost' and User='root';
        flush privileges # s刷新权限
        退出客户端
        退出服务端
     4 改完之后,一定要终止服务端,重新不跳过授权表,启动服务端,再次使用管理员登录即可。

MySQL的配置文件

mysql的默认配置文件:my-default.ini

配置文件有什么用?
# 修改字符编码
把my.ini中有的内容直接删掉,然后换成下面的内容
[mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
[client]
    default-character-set=utf8
[mysql]
    default-character-set=utf8
    
  \s  输出一些MySQL的基本信息  

# 以后只要配置文件发生了改变,一定要重启服务端,配置文件才生效


# 总结 
1 先启动系统服务 
net start mysql 
2 进入mysql客户端。
注意:要使用管理员登录,游客登录权限少
3 \s
4 重启服务端,然后再输出配置文件就会把配置文件更改掉。

重要的概念

库 --> 文件夹
表 --> 文件夹中的文件
记录 --> 文件夹中的文件中 的一行行数据

#先有库 再有表 最后有记录
先创建数据库,在库里面创建数据表, 最后在表中插入数据

数据库相关命名

1 查看所有的数据库  # 要使用下列命令 必须管理员登录
    show databases; # 查看所有的库
         information_schema  # 默认创建在内存中的数据库
         mysql              # MySQL默认创建的数据库,不要动        
         performance_schema  # 
         test                # 空数据
    show create database 库名; # 查看数据库的基本信息
    
2. 如何选择数据库
    use 库名;
    use mysql; 选择mysql 库
    show tables;查看库中所有的表。
3. 如何增加数据库
    create database db1;
4. 如何删除数据库
    drop database db1;
 5. 修改数据库
    # 一般情况下, 我们只要创建了数据库,就不会去修改,如果要修改,就直接删掉,从新创建
    alter database db1 charset='gbk';

# 总结 
'常用命令'
show databases; # 查看所有的库
show create database 库名; # 查看数据库的基本信息
use 库名; 例子--> use myslq; # 选择库
create database 库名;# 增加库
drop database db1;# 删除库
alter database 库名 charset='gbk';#修改库

 

标签:--,数据库,mysql,MySQL,服务端,客户端
From: https://www.cnblogs.com/xiaoyou898/p/17542248.html

相关文章

  • 碎片对MySQL的影响
    常见的碎片类型·SegmentFragmentation:段产生了碎片;没有按照数据的顺序存储,或者在数据页之间有空的页·TablespaceFragmentation:表空间中存储的是非连续的文件系统块·TableFragmentation:表中数据不是按照主键的顺序存储的。或者表的页有大量空闲空间。比如,表定义成了堆......
  • 嵌入式数据库简介
    什么是嵌入式数据库?嵌入式数据库主要有两种定义:用于嵌入式系统(如移动设备或消费电子产品)的数据库。嵌入式数据库需要占用空间小,并在内存和CPU能力有限的环境中提供足够的性能。嵌入到应用程序中的数据库--这意味着应用程序不与数据库服务器通信,而是内置数据库组件。这种类型的......
  • MySQL5.6.x二进制包升级到5.7.x
    #!/bin/bash#mysql数据库用户名myuser="root"#mysql数据库密码mypwd="123456"#数据库备份路径dbbakdir="/data/dbbak"#数据库目录datadir="/data/mysql"#系统mysql用户sysmysqluser="mysql"#系统mysql组sysmysqlgroup="mysql"#my......
  • MySQL---索引优化与查询优化
     索引失效案例全值匹配我最爱当where条件的所有字段都有索引完全匹配时,效率最高最左前缀规则(联合索引)联合索引,在检索数据时从联合索引的最左侧开始匹配主键插入顺序计算/函数/类型转换(自动或手动)导致索引失效......
  • GGTalk 开源即时通讯系统源码剖析之:虚拟数据库
    继上篇《GGTalk开源即时通讯系统源码剖析之:服务端全局缓存》详细介绍了GGTalk对需要频繁查询数据库的数据做了服务端全局缓存处理,以降低数据库的读取压力以及加快客户端请求的响应,接下来我们将进入GGTalk服务端的虚拟数据库。GGTalkV8.0除了支持真实的数据库外,还内置了虚......
  • MySQL同步ES实战,肝到爆!
    技术是什么?就是拿来玩的,边玩边学,才能成长得更快。之前已经给大家讲解了MySQL同步ES的几种方案,下面就教大家如何通过Canal,将MySQL同步到ES,文章内容绝对妥妥干货!本文会先讲解需要用到的基础知识,然后再是软件安装,最后就是实战部分。不说,上文章目录: 01基础知识1.1......
  • 2023年6月国产数据库大事记-墨天轮
    本文为墨天轮社区整理的2023年6月国产数据库大事件和重要产品发布消息。目录6月国产数据库大事记(时间线)产品/版本发布兼容认证代表厂商大事记排行榜新增数据库厂商活动相关资料6月国产数据库大事记(时间线)6月1日,中国实时数据库厂商北京飞轮数据科技有限公司完成了又一......
  • mysql+Navicat部署
    mysql下载:https://dev.mysql.com/downloads/mysql/下载界面提示登录,选择:Nothanks,juststartmydownload.安装:省略。。。Navicat安装:后面省略。。。......
  • Django ORM:最全面的数据库处理指南
    深度探讨DjangoORM的概念、基础使用、进阶操作以及详细解析在实际使用中如何处理数据库操作。同时,我们还讨论了模型深入理解,如何进行CRUD操作,并且深化理解到数据库迁移等高级主题。为了全面解读DjangoORM,我们也讨论了其存在的不足,并对其未来发展进行了展望。这篇文章旨在帮助读者......
  • Django ORM:最全面的数据库处理指南
    深度探讨DjangoORM的概念、基础使用、进阶操作以及详细解析在实际使用中如何处理数据库操作。同时,我们还讨论了模型深入理解,如何进行CRUD操作,并且深化理解到数据库迁移等高级主题。为了全面解读DjangoORM,我们也讨论了其存在的不足,并对其未来发展进行了展望。这篇文章旨在帮助读......