22-MYSQL数据库

 

                

                表和表之间是有关系的,所以是关系型数据库

 

                数据模型

                        数据抽象:

                        物理层:数据存储格式,即RDBMS在磁盘上如何组织文件

                        逻辑层:DBA角度,描述存储什么数据,以及数据间存在什么样的关系

                        视图层:用户角度,描述DB中的部分数据

                        关系模型的分类:

                        关系模型

                        基于对象的关系模型

 

                        半结构化的关系模型:XML数据 

                        22-MYSQL数据库-1

 

                修改登陆选项

                        22-MYSQL数据库-1

 

                增加两行,自动登录,以root身份

                        22-MYSQL数据库-1    

 

                修改用户登陆信息显示(此文件也是小型数据库)

                        22-MYSQL数据库-1

 

                修改最后一行为true

                        22-MYSQL数据库-1

                       22-MYSQL数据库-1

 

                成功了

                        22-MYSQL数据库-1

 

                在centos 6 上查看安装包版本。

                        22-MYSQL数据库-1

 

                在Centos 7 上查看安装版本。注意是安装包是 mariadb

                        22-MYSQL数据库-1

 

                修改好centos 7 上的yum仓库。

                        22-MYSQL数据库-1

 

                修改好centos 6 上的yum仓库。

                        22-MYSQL数据库-1

 

                清除之前yum错误缓存。

                        22-MYSQL数据库-1

 

                在Centos 7 上安装数据库。

                        22-MYSQL数据库-1

 

                安装成功啦

                        22-MYSQL数据库-1

 

                查看端口和服务器是否启动。mysql默认端口号是3306,没有看到。说明服务没有启动。

                        22-MYSQL数据库-1

 

                启动mysql服务,默认启动名称是 mariadb.service 但可以没有,默认系统会自动添加。

                        22-MYSQL数据库-1

 

                启动服务后再次查看TPC 端口号和进程名。倒数第二个3306端口就是MYsql,进程号是7051

                        22-MYSQL数据库-1

 

                查看进程树和端口号。

                        22-MYSQL数据库-1

 

                可以看到MY sql是单进程,多线程服务。可以看到和查看端口号的主进程号是一样的端口。

                        mysql 工作原理是主进程 7051 负责监听本机 TCP 3306端口,当有用户进程访问 3306端口的时候,主进程负责接收请求,并把它转到后台任意一个闲置进程去。而主进程继续监听端口。

                        22-MYSQL数据库-1

 

                我们可以看到 DNS 服务也是dan

 

                查看进程和端口号,老命令。

                        22-MYSQL数据库-1

 

                输入mysql直接进入数据库模式

                        22-MYSQL数据库-1

 

查看数据库

                        共计4个数据库,查询用时。

                        22-MYSQL数据库-1

 

                切换数据库

                        切换到什么数据库,后面就会显示数据库名。

                        22-MYSQL数据库-1

 

                查询 MYsql 客户端命令。

                        22-MYSQL数据库-1

 

                我们看到 use 有快捷命令 \u

                        可以直接切换

                        22-MYSQL数据库-1

 

                我们看到 help 是查看客户端命令。  help contents 是查看服务器端命令。

                        22-MYSQL数据库-1

 

                查看服务器端命令

                        22-MYSQL数据库-1

 

                随便查询一个功能

                        里面有很多的功能语句

                        22-MYSQL数据库-1

 

                再次help INSERT

                        他会告诉你这个语句如何写。

                        22-MYSQL数据库-1

 

                结尾还有更多的官方文档可以查看。

                        22-MYSQL数据库-1

 

                我们查看数据库,这条命令是服务器端命令。我们不打;就意味着服务器认为命令不完整,等待输入。

                        22-MYSQL数据库-1

 

                直到我们输入;回车以后,才会显示数据库列表。

                        22-MYSQL数据库-1

 

                切换数据库命令是客户端命令,不需要加分号。但加了分号也是无所谓的。

                        22-MYSQL数据库-1

 

                如果我们忘记命令 可以直接 help 进行查询,或者查看命令的用法。

                        22-MYSQL数据库-1

 

                最后还可以查看具体 show 的官方文档。

                        22-MYSQL数据库-1

 

                我们退出来,直接在系统上查看mysql 后面可以跟什么参数和选项。

                        22-MYSQL数据库-1

我们登陆的时候可以直接跟数据库名字,直接登陆。

                        22-MYSQL数据库-1

 

                尝试建立一个数据库。成功。

                        22-MYSQL数据库-1

 

                查看数据库。没问题。

                        22-MYSQL数据库-1

 

                切换到一个普通用户尝试执行数据库命令。

                        22-MYSQL数据库-1

 

                直接登陆数据库,并查看数据库文件。

                        22-MYSQL数据库-1

 

                我们尝试删除之前建立的空数据库。

                        22-MYSQL数据库-1

 

                再次查看数据库,已经删除成功了。

                        22-MYSQL数据库-1

    

                退出数据库,注意我们此时还是用普通用户在登陆。

                        22-MYSQL数据库-1

 

                我们查看系统账户。

                        只有一个root本地登陆账户。mysql默认以自身root数据库管理员身份登陆。而且是空口令。winwows mysql 数据库管理员账号 是sa,所以此root非彼centos 系统中的root。

                        22-MYSQL数据库-1

 

                这是正确的登陆方式。以某个用户身份登陆数据库,quite方式输入密码。

                        这里由于我们root账户并没有指定密码,所以直接回车登陆就可以了。

                        22-MYSQL数据库-1

 

                如果我们随便写一个名字去尝试登陆可以吗?

                        证明是可以的。系统默认允许匿名登陆。

                        22-MYSQL数据库-1

 

                查看当前账号,只有我自己。可是我们是刚装的mysql 并没有建立过这个账户,所以系统默认很不安全,任意用户名都可以登陆。

                        22-MYSQL数据库-1

 

                查看数据库,发现了问题。只有两个数据库,权限有问题。

                        22-MYSQL数据库-1

 

                我们切换回root登陆。查看数据库。还是四个数据库。

                        22-MYSQL数据库-1

 

                查看MYsql数据库中所有的表。

                        22-MYSQL数据库-1

 

                我们就查看最后一张,用户表。

                        22-MYSQL数据库-1

 

                我们试着打印用户表的所有内容。

                        22-MYSQL数据库-1

 

                显示用户表的所有列,字段。

                        22-MYSQL数据库-1

 

                报错是因为退出了mysql数据库所以执行命令报错。

                        22-MYSQL数据库-1

 

                进入数据库后,发现显示信息,列的名字最后password打错了,所以报错。

                        22-MYSQL数据库-1

 

                显示用户,主机,密码,三列。

                        22-MYSQL数据库-1

运行安全脚本,使数据库更安全。

                        询问现有root是否有密码,没有密码直接回车。

                        22-MYSQL数据库-1

 

                        询问是否需要设置管理员密码,设置两遍。

                        22-MYSQL数据库-1

 

                        询问是否删除匿名账号登陆。删除。

                        22-MYSQL数据库-1

 

                        是否禁止root远程登陆。禁止。

                        22-MYSQL数据库-1

 

                        是否生效当前的配置,生效。

                        22-MYSQL数据库-1

 

                        结束。感谢使用。    

                        22-MYSQL数据库-1

 

                此时我们在直接登陆已经不行了,必须输入用户名密码。

                        22-MYSQL数据库-1

 

                我们用root登陆 mysql 数据库, 登陆 mysql数据库

                        22-MYSQL数据库-1

 

                再次查询user表  用户 主机 和密码 字段。

                        22-MYSQL数据库-1

 

                关闭centos 6 的 图形启动界面。

                        22-MYSQL数据库-1

 

                再次查看安装包。注意安装包名大小写。

                        22-MYSQL数据库-1

YUM安装 MariaDB 实现同时运行三实例

                

 

                创建三个文件夹,并创建相应的子文件夹,,为后面实例对应的服务端口启动,和相应数据库配置文件存放做准备。

                        22-MYSQL数据库-1

 

                查看文件夹是否成功。

                        22-MYSQL数据库-1

 

                查看安装数据库的时候是否创建了对应的系统账号。

                        并把刚才创建的所有文件夹的所有人和所有组都改成数据库账户。不然运行服务后,读写执行文件夹权限都会出现问题。

                        22-MYSQL数据库-1

 

                检查权限

                        22-MYSQL数据库-1

 

                把数据库配置文件指向到我们设置好的文件夹下,系统会自动同步文件。

                        执行三遍,3306,3307,3308。

                        22-MYSQL数据库-1

 

                        3307。

                        22-MYSQL数据库-1

 

                        3308。

                        22-MYSQL数据库-1

 

                再次查看文件夹情况。以3306为例子。

                        22-MYSQL数据库-1

 

                复制原有的MYSQL 配置文件到 3306下,修改后 在批量发送到3307和3308上。

                        22-MYSQL数据库-1

 

                查看文件

                        22-MYSQL数据库-1

 

                修改配置文件为此样子。视频为老版本,本次是最新版本安装。配置文件略有不同。

                        第二行,修改服务端口号,第三行,存放数据库路径。第四行,修改socket路径, 第八行,修改日志文件路径,第九行,修改PID路径。

                        22-MYSQL数据库-1

 

                复制配置文件到3307和3308两个服务文件夹上去。

                        22-MYSQL数据库-1

 

                修改两个文件夹的文件,3306字段改为3307和3308

                        22-MYSQL数据库-1

 

                用事先准备好的启动脚本。RZ上传进来。

                        22-MYSQL数据库-1

查看文件

                        22-MYSQL数据库-1

 

                打开文件

                        

 

                只用修改文件端口号就可以。

                        22-MYSQL数据库-1

 

                加上执行权限,准备运行。

                        22-MYSQL数据库-1

 

                mysql默认开机自动启动。

                        22-MYSQL数据库-1

 

                查看现在MYSQL服务并没有启动。

                         22-MYSQL数据库-1

 

                运行命令。发现命令要加参数才能执行。

                        22-MYSQL数据库-1

 

                启动脚本,执行数据库!并查看端口,成功啦!!!

                        22-MYSQL数据库-1

 

                查看数据库进入端口文件。

                        22-MYSQL数据库-1

 

                查看文件元属性。

                        22-MYSQL数据库-1

 

                查看进程PID

                        22-MYSQL数据库-1

 

                查看现在的进程 pstree -p 没有问题。号码正好对应。

                        22-MYSQL数据库-1

 

                进入数据库,查看是否成功。

                        失败了,注意命令大小写。

                        22-MYSQL数据库-1

 

                进入数据库,成功了。

                        22-MYSQL数据库-1

 

                建立一个数据库,并查看。没问题。

                        22-MYSQL数据库-1

 

                查看我们文件夹的数据,多了一个刚才建立的db3306文件夹。

                        22-MYSQL数据库-1

 

                复制脚本到另外两个服务端口文件夹下。

                        22-MYSQL数据库-1

 

                修改端口号。3308

                        22-MYSQL数据库-1

 

                修改端口号,3307。

                        22-MYSQL数据库-1

 

                把两个文件夹端口的服务启动起来。        

                        22-MYSQL数据库-1

 

                再次查看端口号,成功了。

                        22-MYSQL数据库-1

 

                尝试进入数据库。

                        22-MYSQL数据库-1

 

                查看数据库,并创建一个 db3307的数据库 成功。

                        22-MYSQL数据库-1

 

                查看 3307的数据文件夹。

                        22-MYSQL数据库-1

 

                我们尝试停止 3308 的服务。需要输入密码。 我们是空密码,直接回车。

                        22-MYSQL数据库-1

 

                再次查看端口服务。3308  已经停止成功了。

                        22-MYSQL数据库-1

 

                开机之后先启动脚本

                        22-MYSQL数据库-1

进入数据库。

                        22-MYSQL数据库-1

 

                创建数据库,并查看。

                        22-MYSQL数据库-1

 

                创建一个同名数据库,会报错。

                        22-MYSQL数据库-1

 

                如果我们加选项,就会警报。

                        22-MYSQL数据库-1

 

                查看警报。

                        22-MYSQL数据库-1

 

                但如果我们再执行一遍刚才的命令。出现警报后,我们查看数据库。再查看警报。就会发现警报没了。警报只适用于刚才输入的命令。

                        22-MYSQL数据库-1

 

                查看编码,最好用utf8mb4编码机制。

                        22-MYSQL数据库-1

                        22-MYSQL数据库-1

 

                查看系统版本。

                        22-MYSQL数据库-1

 

                我们删除原有的test数据库,创建testdb数据库,创建test2 utf8mb4 编码机制数据库。

                        22-MYSQL数据库-1

 

                查看当前数据库

                        数据库就是一个容器,表的集合。

                        22-MYSQL数据库-1

 

                我们之前创建的 testdb 表没有任何指定,默认就是拉丁字符集合。

                        22-MYSQL数据库-1

 

                我们之前创建的 testdb2 表,有指定字符集。

                        22-MYSQL数据库-1

 

                在数据库文件夹下可以看到两个数据库文件夹

                        22-MYSQL数据库-1

 

                以test2 为例子,进入文件夹查看一下。是空的。

                        22-MYSQL数据库-1

 

                如果我们忘记命令 可以直接help,后面跟随命令。

                        22-MYSQL数据库-1

 

                我们创建一个db1数据库,进入数据库。

                        22-MYSQL数据库-1

 

                我们在数据库中创建一个表 students表。包括 id name age。

                        22-MYSQL数据库-1

 

                我们在 db1 数据库中 查看刚建立的学生表信息。可以看到字符集。拉丁文

                        22-MYSQL数据库-1

 

                我们切换到testdb2中,再次建立 学生表。

                        22-MYSQL数据库-1

 

                我们在tstsdb2 数据库中查看 学生表 信息。

                        22-MYSQL数据库-1

 

                显示学生表字段。可以看到 第一个字段是主键。

                        22-MYSQL数据库-1

 

            我们建立学生表2 设置一个复合主键。

                        22-MYSQL数据库-1

 

                查看学生表2 的信息。可以看到 第一个和第二个字段就是复合主键。在一张表中只有一个主键,这个是复合主键。

                        22-MYSQL数据库-1

 

                查看tastdb2 的 表。

                        22-MYSQL数据库-1

 

                查看 testdb2 数据库文件,.frm 是表定义。二进制文件,存放数据格式等信息。.ibd 是存放真正的数据文件。

                        22-MYSQL数据库-1

 

                删除表,并查看。

                        22-MYSQL数据库-1

            

                我们建立一张 emp表。发现失败了,报错提示 ,没有设置主键。

                        22-MYSQL数据库-1

 

                我们建立 emp  表,并设置主键。

                        22-MYSQL数据库-1

 

                查看刚才建立表的字段。

                        22-MYSQL数据库-1

 

                查看表的 所有 信息。空表。

                        22-MYSQL数据库-1

 

                插入信息,标准写法。

                        22-MYSQL数据库-1

 

                再次查看表信息。

                        22-MYSQL数据库-1

 

                继续插入信息。这次我们不写主键 id 序号,因为前面已经定义了,会自动增加。

                        22-MYSQL数据库-1

 

                查看表。没问题。

                        22-MYSQL数据库-1

            

                这次我们继续添加信息,如果不写年龄字段会怎么样呢?

                        22-MYSQL数据库-1

 

                查看表,我们发现没有填写的信息,显示为空值,NULL。

                        22-MYSQL数据库-1

继续添加信息,我们一次添加两行信息。毛豆,绿豆。

                        22-MYSQL数据库-1

 

                查看表。没问题。

                        22-MYSQL数据库-1

 

                把 EMP 表中的所有数据 输出出来复制到  customs 表中。相当于复制。

                        22-MYSQL数据库-1

 

                清空表,并查看。清空是不记录日志的  delete是记录日志的。

                        22-MYSQL数据库-1

 

                再次把 customs 表中的数据 复制回 emp 表中。

                        22-MYSQL数据库-1

 

                显示学生表的所有信息。并查看学生表的字段。

                        22-MYSQL数据库-1

 

                把 emp 表的所有信息 复制到 students 表中。提示报错,因为两个表的字段不一样。

                        22-MYSQL数据库-1

 

                我们把 emp 表中的 学号,姓名,年龄。复制到学生表中。成功了。

                        22-MYSQL数据库-1

 

                显示学生表的所有信息。

                        22-MYSQL数据库-1

 

                把第三条记录 的年龄添加上。

                        22-MYSQL数据库-1

 

                鉴于之前修改年龄命令 如果不加 where命令 等于批量 太过于危险。所以增加保护措施。

                        22-MYSQL数据库-1

 

                再次尝试命令,失败了。成功了。

                        22-MYSQL数据库-1

 

                还原。

                        22-MYSQL数据库-1

 

                如果直接按刚才的命令,数据路 age 字段 所有数据都被破坏了。

                        22-MYSQL数据库-1

 

                删除单条记录。并查看表。

                        22-MYSQL数据库-1

 

                准备好一个事先准备好的文件,目录名同上

                        22-MYSQL数据库-1

相关文章: