首页 > 数据库 >MySQL铺垫

MySQL铺垫

时间:2023-07-12 22:14:05浏览次数:29  
标签:铺垫 数据库 MySQL 管理员 mysql 服务端 客户端

目录

数据的演变史

# 以ATM为例
# 1. 把数据存放在单个文件里面
	1. 文件名不规范
    2. 数据格式也不规范
    	kevin|123   kevin$123  kevin*123
# 2. 软件目录开发规范
	db文件夹里
    	# 当数据量多的时候,会产生很多的文件,多次读取文件会占用大量的资源
# 3. 数据库阶段
	把数据单独存放在一台计算机上
    '''数据库能解决以上你所有遇到的问题.'''
    

数据存储发展史

1. 单机游戏阶段
	# 数据各自保存在各自的电脑上,不能实现数据的共享
2. 联网游戏
	# 核心就是可以在计算机之间数据共享,数据库一定是基于网络的!!!
    
  '''以上所有遇到的问题核心都是基于数据的'''

数据库的本质

'''数据库的本质其实就是cs架构的软件'''
cs架构的软件就必须有服务端和客户端,理论上来说,我们每个人都能写一款数据库出来,只不过是你写的数据库没人用,因此,市面上有很多牛逼的程序员,就写了很多的数据库软件,所以,你也会发现,现在市场上的确有很多的数据库

数据库的分类

'''市面上有很多的数据库,但是,大致分类两大类'''
1. 关系型数据库
	MySQL、Oracle、SqlServer、PostgreSQL、sqlite、MariaDB、db2、access
    MySQL:开源免费的
    MariaDB:开源的 与MySQL为同一作者
	Oracle:不开源,收费
    

2. 非关系型数据库
	Redis缓存数据库(新项目使用)、memcahce缓存数据库(老项目有再用)、MongoDB数据库(爬虫)
    '''redis淘汰了memcahce,redis的功能多于memcahce'''
    
3. 二者的特点
    关系型数据库:
        拥有固定的表结构,表与表之间可以建立关系
    非关系型数据库:
        没有固定的表结构,它是以K:V键值对的形式存储数据
            name------------------->kevin
            age-------------------->20
	

sql与NoSql

# 服务端为了兼容各个客户端(python、java、go、php、c...)语言的交互,统一规定了交互格式:
	关系型数据库mysql >>>>>>: sql语句
    非关系型数据库redis >>>>>>>: nosql语句
        
ps:mysql默认忽略大小写        
        

MySQL简介

1. 版本问题
	4.x之前的版本直接忽略,不够稳定
    5.6:老项目用的多,是最稳定的版本
    5.7: 新老项目都在用
    8.x:最新版本
'''在IT界,生产环境中尽量不要使用最新版本,测试环境中用哪个版本都可以'''
# 任何软件,生产环境中,都要使用稳定版本,而不是追求最新版本
# 教学使用5.6版本,如果你下载了其他版本也无所谓
'''如果你之前的电脑装过mysql,而卸载的方式又不对,就有可能存在很多的残留垃圾文件,如果不删除掉,就有可能导致新的mysql装不上,装上之后,有可能启动不起来,反正就是各种问题!!!'''

# 如果你的电脑中确实存在了残留文件,怎么办呢?
利用一些杀毒软件,去检测你电脑上的残留文件,然后把检测出来的垃圾文件全部删除即可

'''今天的任务,每个人必须把MySQL装成功!!!'''
2. 下载MySQL
	# 1. Windows版本
    # 2. mac版本
    # 3. linux版本
    我们使用 Windows版本的,mac版本有教程,linux版本这里不讲
3. 下载
	去官网下载:https://www.mysql.com/ >>>>>>DOWNLOADS>>>> 往下翻到MySQL Community (GPL) Downloads »MySQL Community Server>>>>Archives选择需要的版本>>>>Download
     # 下载下来之后,是一个zip的压缩包,去解压文件
4. mysql目录介绍:
	# bin 服务端:mysqld.exe 和客户端:mysql.exe都在bin目录下
        mysql.exe # 这个是mysql自带的客户端
        mysqld.exe # 这个是mysql的服务端
   # data
	   它是mysql的存储数据的地方
   # my-defalut.ini   
		是mysql的配置文件
   # README  
		是说明文件
    
5. 如何使用mysql
	1. 步骤一:先启动服务端
    	添加环境变量前:
       搜索cmd>右击以管理员身份运行>D:\>cd MySQL>cd mysql-5.6.48-winx64>cd bin>mysqld.exe
       (服务端的cmd窗口继续保留不能关闭)
    	添加环境变量后:
        电脑左下角放大镜>搜索cmd>右击以管理员身份运行>直接执行命令mysqld
        制作系统服务后:
        电脑左下角放大镜>搜索cmd>右击以管理员身份运行>直接执行命令执行命令net start mysql
        
             
    2. 步骤二:启动客户端
    	添加环境变量前:
       新打开一个cmd窗口来链接服务端
        >D:\>cd MySQL>cd mysql-5.6.48-winx64>cd bin>mysql.exe
        添加环境变量后:
       电脑左下角放大镜>搜索cmd>右击以管理员身份运行>直接执行命令mysql# 直接输入mysql登录是游客模式
       以上两种方式以游客身份进入非管理员登录
        
       以管理员权限启动客户端方式:
    	电脑左下角放大镜>搜索cmd>右击以管理员身份运行>直接执行命令mysql -u root -p
        
    3.步骤三链接服务端:
    	cmd启动客户端后执行命令mysql -u root -p
        #连接mysql命令:mysql -h127.0.0.1 -P3306 -uroot -p123456# 自己电脑mysql -u root -p
        
        
	4. 把mysqld服务端所在的路径加入到环境变量中
    	每次启动mysqld、mysql需要切换文件路径,所以把mysqld、mysql文件所在路径bin添加到环境变量中就不用重复切换了
        
    	步骤:复制文件bin路径 加入环境变量:此电脑>高级系统设置>环境变量>点击系统变量Path>编辑>新建>将复制路径填入后点击确定
        
    5. 将MySQL服务制作系统服务    
    	# 目的:可以不用启动服务端cmd,就是可以随时关闭mysql的服务端,达到开启自启动,自关闭,第一次安装MySQL成功之后,服务并没有启动,需要手动启动一次
        步骤:
        1. 先关闭已经启动的服务端
        2. 使用管理员方式再打开cmd窗口:
        	执行安装服务命令mysqld --install (不是管理员权限会报错:Install/Remove of the Service Denied!)        	
        3. 启动服务的方式
            第一种方式: 鼠标点击启动按钮
            第二种方式: 服务端执行命令net start mysql  # (管理员权限)
        如何停止服务
        	第一种方式:鼠标点击停止
            第二种方式:服务端执行命令net stop mysql # (管理员权限)
        如何卸载服务
    		1. 先停止服务
        	2. 服务端执行命令mysqld --remove
            
'''
	打开服务的方式:
		1. 在底部任务栏右键选择任务管理器  >>>>>  服务>找到MySQL右击启动
		2. 此电脑右键  >>>  管理  >>>  服务和应用程序 >>> 服务>左上角刷新>找到MySQL启动
		3. win + r  >>>  输入:services.msc  >>>  回车
'''

6.如何链接别人的mysql
	如果你连接的是别人电脑上的数据库,需要指定ip和port
	mysql -h 127.0.0.1 -P 3306 -u root -p 123 
    
7.如何卸载MySQL
    1. 先卸载服务
    2. 在关闭服务端
    3. 直接删除MySQL的文件夹

修改管理员密码及忘记密码怎么办

'''修改管理员密码前需要关闭客户端,管理员密码改完之后,一定要使用管理员账号登录'''

1.修改管理员密码
第一种方式:(需在未登录客户端状态下)
	格式:mysqladmin -u用户名 -p旧密码 password 新密码 
	# mysqladmin -u root -p password 96
    步骤:电脑左下角放大镜>搜索cmd>右击以管理员身份运行>直接执行命令mysqladmin -u用户名 -p旧密码 password 新密码
    
第二种方式: 需在客户端登录状况下执行命令
    格式:set password=PASSWORD('新密码');
    #set password=PASSWORD('97');
    步骤:电脑左下角放大镜>搜索cmd>右击以管理员身份运行>登录成功后直接执行命令set password=PASSWORD('密码');
    
快捷登录客户端方式:直接执行命令mysql -u root -p密码#mysql -u root -p97
    
# 直接输入mysql登录是游客模式
# 以后都用管理员模式登录,不要使用游客模式,游客模式只能查看,权限很低


2.忘记密码
用'跳过授权表'的形式再次启动服务端,'跳过授权表' >>>: 客户端在登录mysql的时候,只需要输入用户名即可,不再验证密码
步骤:
    1. 先停止服务
    2.再启动服务端跳过授权表:电脑左下角放大镜>搜索cmd>右击以管理员身份运行>直接执行命令mysqld --skip-grant-tables
    3.再开个cmd窗口使用客户端执行命令mysql -u root -p,不输入密码直接回车
    输入命令update mysql.user set password=password('新密码') where Host='localhost' and User='root';
    4. 退出客户端exit
    5. 停止服务端ctrl+c
    6. 再次以正常方式启动服务端

概念补充

库    >>>  文件夹

表    >>>  文件 (文件夹下的文件)

记录   >>>  数据 (文件夹下的文件下的一行行的数据)

'''
	information_schema库是mysql默认在内存中创建的库
'''

基本SQL语句

'''
1.在mysql中sql语句都要以分号;作为结尾!!!
2.退出客户端:  exit或者quit,加不加分号;都能执行
3.当不想重复编辑之前的命令可以箭头Pgup切换之前输入过的命令
4.当输入的命令不对时,又不想让服务端执行并返回报错信息可以用\c取消
5. 退出服务端:ctrl + c
6.\s查看MySQL信息
7.comment'这是注释’
'''
    

标签:铺垫,数据库,MySQL,管理员,mysql,服务端,客户端
From: https://www.cnblogs.com/Super-niu/p/17548990.html

相关文章

  • 说透MySQL:从数据结构到性能优化,附实际案例和面试题
    typora-copy-images-to:imgmysql索引第一章MySQL性能(掌握)1分析-数据库查询效率低下我们进入公司进行项目开发往往关注的是业务需求和功能的实现,但是随着项目运行的时间增加,数据量也就增加了,这时会影响到我们数据库的查询性能。所以我们要提高操作数据库的性能,有如下两种方式:1.......
  • com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not al
    在做学成在线项目时,启动项目报错:com.mysql.cj.exceptions.UnableToConnectException:PublicKeyRetrievalisnotallowedatsun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeMethod)atsun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstr......
  • docker 安装 docker 并下载mysql redis镜像
    **步骤:1.Uninstalloldversions(卸载旧版本): sudoyumremovedocker\         docker-client\         docker-client-latest\         docker-common\         docker-latest\  ......
  • PostgreSQL(pg) /MYSQL数据库,使用递归查询(WITH RECURSIVE)功能来实现获取指定菜单ID的
      PostgreSQL/MYSQL数据库,使用递归查询(WITHRECURSIVE)功能来实现获取指定菜单ID的所有下级菜单数据。下方用例是假设菜单表menu的改成自己的表即可WITHRECURSIVEmenu_hierarchyAS(SELECTid,name,parent_idFROMmenuWHEREid=<指......
  • Linux(Centos)安装Mysql的步骤
    因为Mysql收费所以Centos7不能像原来那么丝滑的去安装了,之前很多可行的安装方式现在都需要换个姿势。本人环境是CentOS7,安装的MySQL版本是5.7.34,从卸载到安装全过程记录。一.卸载MySQL(没安装过的可直接跳过)​ ​最后查看一下还有没有MySQL依赖的包名和文件夹,按上面步骤全部......
  • MySQL条件查询
    前言从今天开始,健哥就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深,全面讲解数据库体系。非常适合零基础的小伙伴来学习。 前戏已做完,精彩即开始全文大约【1263】字,不说废话,只讲可以让你学到技......
  • IDEA中mysql无法自动补全解决办法
    1.前言本人在跟着b站视频学习时,发现无法如视频中显示的那样进行sql提示,上网查找了一些资料,进行了解决2.解决后的提示示例图1图23.解决方式3.1我的解决方式本人使用的IDEA是2021.2.3设置——语言和框架——SQL方言,修改全局SQL方言与项目SQL方言为MySQL。(最初是“无”)......
  • 基于C#连接Mysql,并进行增删改查操作
    记录一下今天的学习内容。前置条件(括号里是我用的):VisualStudio (2022)、Mysql(8.0.33CommunityServer)、NavicatPremium(16) 1.开发准备首先,打开VisualStudio,选择控制台应用并创建,框架应该影响不大,我用的.net6.0然后新建一个名为MysqlDbContext.cs的项。......
  • MySql开启日志 --记录每条执行的SQL语句
    --第一条SETGLOBALlog_output='TABLE';SETGLOBALgeneral_log='ON';--在重启mysql重启Mysql详情请看:(10条消息)如何重启MySQL,正确启动MySQL_mysqlrestart_wuyepiaoxue789的博客-CSDN博客--重启完成之后可以去数据库`Mysql`中的general_log表里查看,也可以执行一下的......
  • 如何实现mysql语法的具体操作步骤
    如何学习和实现MySQL语法作为一名经验丰富的开发者,我将会教会你如何学习和实现MySQL语法。MySQL是一种广泛使用的关系型数据库管理系统,具有强大的功能和易于使用的语法。整体流程下面是学习和实现MySQL语法的整体流程的表格展示:步骤描述1.学习基本的MySQL语法和概念......