MySQL简介

今天继续给大家介绍MySQL和数据库的相关知识,本文主要内容是MySQL简介。

一、SQL概述

SQL,Structured Query Language,结构化查询语言,是一种数据库查询和程序设计语言,用于存储数据以及查询、更新和管理数据库。结构化查询语句一共有6种,分别如下:
1、数据查询语言。
数据查询语言,即DQL,Data Query Language,用于从数据库中获取数据。该语言为select语句,以及与之配合的where、order by、group by和having等关键字。
2、数据操作语言。
数据操作语言,即DML,Data Manipulation Language,用于对数据库中的表数据进行添加、删除、修改。数据操作语言的关键词是update、insert和delete。
3、事务处理语言。
事务处理语言,即TPL,Transaction Handle Language,主要用于处理事务(事务在MySQL中是一个非常重要的概念,在接下来的文章中我们会进行讲解),关键字有begin、transaction、commit等。
4、数据控制语言。
数据控制语言,即DCL,Data Control Language,主要用于对一些用户进行某些数据库的授权和权限撤销,其关键字有grant、revoke等。
5、数据定义语言。
数据定义语言,即DDL,Data Determination Language,主要用于创建新的表或者删除表,其关键字有create、drop等等。
6、指针控制语言。
指针控制语言在MySQL中不常使用,在这里就不过多介绍了。

二、MySQL启动与第一次登录

由于5.5版本和5.7版本MySQL在启动上存在较大差距,因此我们分开来进行介绍。

(一)5.5版本MariaDB启动

如果是以YUM方式安装的5.5版本的MySQL数据库,则启动执行命令:

systemctl start mariadb

启动后,直接可以登录数据库,而不需要进行额外的操作,如下所示:
在这里插入图片描述
在这里插入图片描述
从上图可以看出,5.5版本的MariaDB不需要密码,甚至不需要用户就可以登录进入系统,这样做的好处是比较方便,但是缺点在于数据库不安全,还需要我们手动修改密码,增强安全性设置。
我们可以执行命令mysql_secure_installation来快速的进行MySQL安全性方面的配置,配置内容包括设置root用户密码,移除匿名用户,禁止远程登录,删除测试库和重置权限等,过程如下所示:
在这里插入图片描述
在这里插入图片描述
完成上述操作后,我们就不可以匿名登录了,再次登录时,就需要输入用户名和密码了,如下所示:
在这里插入图片描述

(二)5.7版本MySQL启动

如果我们想要安装其他版本的MySQL数据库,可以访问以下网站
https://repo.mysql.com/
并且下载后或者直接通过远程RPM的方式安装后下载即可。
对于5.7版本的MySQL数据库,启动命令如下:

systemctl start mysqld

然而,5.7版本的MySQL在启动后,却不像5.5版本一样,可以直接root用户无密码登录或者是匿名登录。5.7版本的这种设计,增强了系统的安全性,但是却给我们日常使用稍显不便。
在这里插入图片描述
5.7版本的MySQL在安装后,root用户有一个临时密码,我们可以打开/var/log/myslqd.log,查找password关键字,就可以找到root用户的临时密码了,如下所示:
在这里插入图片描述
接下来,我们就可以使用该临时密码进行登录了,如下所示:
在这里插入图片描述
注意,在初次登录MySQL后,必须要首先修改root用户的密码,否则其他的命令都无法执行,MySQL5.7版本对密码的强度有一定的要求,因此密码必须长度和复杂度上足够,MySQL才会通过。MySQL修改root用户密码命令如下:

set password for 'root'@'localhost'=password('Root1234!');

如果我们自己在本地使用MySQL进行实验,并且不存在安全风险的话,也可以为MySQL设置一个简单的密码,撤销MySQL对密码强度和长度的检验命令如下:

set global validate_password_policy=0;
set global validate_password_length=1;

三、MySQL默认库简介

在MySQL数据库安装完毕后,数据库内部会默认存在几个数据库,这些都是系统默认存在的库,在MySQL运行中起着重要作用。登录mysql后,执行命令:

show databases;

可以查看当前系统中的所有数据库,如下所示:
在这里插入图片描述
MySQL中默认数据库主要有以下个:
1、information_schema库
information_schema库中存放了当前数据库的所有库和表的基本信息,如库名、表名、字段名、字段类型等。
2、mysql库
mysql库是一个系统库,里面保存了msyql数据库的账户信息,权限信息等等。
3、performance_schema库
performance_schema库是5.5版本以后MySQL新增加的一个库,是一个用于性能优化的引擎,主要用于收集数据库服务器的性能参数。
4、test库
test库是MySQL数据库自带的一个测试库,没有什么实际意义,建议删除。
5、sys库
mysql5.7版本以后增添了sys库,这个数据库中保存了系统的元数据信息,分担了information_schema库的部分功能。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 7
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值