22-MYSQL数据库-1

22-MYSQL数据库

 

                

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

 

                数据模型

                        数据抽象:

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

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

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

                        关系模型的分类:

                        关系模型

                        基于对象的关系模型

 

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

                        

 

                修改登陆选项

                        

 

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

                            

 

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

                        

 

                修改最后一行为true

                        

                      

 

                成功了

                        

 

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

                        

 

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

                        

 

                修改好centos 7 上的yum仓库。

                        

 

                修改好centos 6 上的yum仓库。

                        

 

                清除之前yum错误缓存。

                        

 

                在Centos 7 上安装数据库。

                        

 

                安装成功啦

                        

 

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

                        

 

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

                        

 

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

                        

 

                查看进程树和端口号。

                        

 

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

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

                        

 

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

 

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

                        

 

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

                        

 

查看数据库

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

                        

 

                切换数据库

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

                        

 

                查询 MYsql 客户端命令。

                        

 

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

                        可以直接切换

                        

 

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

                        

 

                查看服务器端命令

                        

 

                随便查询一个功能

                        里面有很多的功能语句

                        

 

                再次help INSERT

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

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

                        

 

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

                        

 

                查看数据库。没问题。

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

    

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

                        

 

                我们查看系统账户。

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

                        

 

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

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

                        

 

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

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

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

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

                        结束。感谢使用。    

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

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

                

 

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

                        

 

                查看文件夹是否成功。

                        

 

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

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

                        

 

                检查权限

                        

 

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

                        执行三遍,3306,3307,3308。

                        

 

                        3307。

                        

 

                        3308。

                        

 

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

                        

 

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

                        

 

                查看文件

                        

 

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

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

                        

 

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

                        

 

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

                        

 

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

                        

查看文件

                        

 

                打开文件

                        

 

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

                        

 

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

                        

 

                mysql默认开机自动启动。

                        

 

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

                         

 

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

                        

 

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

                        

 

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

                        

 

                查看文件元属性。

                        

 

                查看进程PID

                        

 

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

                        

 

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

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

                        

 

                进入数据库,成功了。

                        

 

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

                        

 

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

                        

 

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

                        

 

                修改端口号。3308

                        

 

                修改端口号,3307。

                        

 

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

                        

 

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

                        

 

                尝试进入数据库。

                        

 

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

                        

 

                查看 3307的数据文件夹。

                        

 

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

                        

 

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

                        

 

                开机之后先启动脚本

                        

进入数据库。

                        

 

                创建数据库,并查看。

                        

 

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

                        

 

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

                        

 

                查看警报。

                        

 

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

                        

 

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

                        

                        

 

                查看系统版本。

                        

 

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

                        

 

                查看当前数据库

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

                查看tastdb2 的 表。

                        

 

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

                        

 

                删除表,并查看。

                        

            

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

                        

 

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

                        

 

                查看刚才建立表的字段。

                        

 

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

                        

 

                插入信息,标准写法。

                        

 

                再次查看表信息。

                        

 

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

                        

 

                查看表。没问题。

                        

            

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

                        

 

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

                        

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

                        

 

                查看表。没问题。

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

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

                        

 

                显示学生表的所有信息。

                        

 

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

                        

 

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

                        

 

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

                        

 

                还原。

                        

 

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

                        

 

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

                        

 

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

                        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值