数据库mariadb

1.什么是数据库

  数据库是电子化的文件库,储存电子文件的住所,用户可以对文件中的数据进行新增,截取更新,删除等操作。
  所谓数据库,是以一定的方式储存在一起能与多个用户共享,具有尽可能小的冗余度,与应用程序彼此独立的数据集合
  数据库是一个企业非常重要的,其实就相当于我们每个人的信息就是我们每个人的属性,并把他记录在一个文件里
  我们现在学习对数据库的一些基本操作,其实就是一个高级的excel表格

2.什么是mariadb数据库

mariadb数据库管理系统是mysql的一个分支,主要由开源社区在维护,采用GPL授权许可,mariadb的目的是完全兼容mysql
包括API和命令行,使之能轻松成为mysql的替代品,在存储引擎方面,使用Xtradb来代替mysql的Innodb
mariadb由mysql的创始人Micheal Widenius主导开发,他早前曾以10E美元的价格,将自己创建的公司Mysql AB卖给了SUN	
此后随着SUN被甲骨文收购,Mysql的所有权落入Oracle的手中,mariadb名称来自创始人女儿的名字
MariaDB基于事务的Maria储存引擎,替换了Mysql的MyISAM储存引擎,它使用了Percona的Xtradb,innodb的变体
分支的开发者希望提供访问即将到来的mysql5.4 Innodb性能,这个版本包括了PrimeBase XT(PBXT)和FederatedX储存引擎
Micheal Widenius离开了SUN之后觉得依靠SUN/Oracle来发展mysql,实在很不靠谱,于是决定重新开发代码全部开源免费关系型数据库,这就是mariadb
在navicat中操作mariadb的界面和提示符还是mysql端口也是3306,外人看起来除了数据库名字改了其他和mysql完全一致
mariadb在各方面都是mysql创新和提高版本而不是简单的替代品
mysql和mariadb开发团队一致,区别在于mysql已经被oracle闭源了,而mariadb是开源的

3.搭建实验环境
步骤一: 配置网络
在这里插入图片描述
步骤二: 配置网络yum源
在这里插入图片描述
步骤三: 修改主机名为mariadb.westos.com
在这里插入图片描述
步骤四: 安装mariadb
在这里插入图片描述
步骤五: 启动mariadb服务 ,输入mysql进入mysql管理
用户在这里插入图片描述
4.安全初始化

数据库的起始状态是不安全的
mysql_secure_installation数据库安全初始化脚本,给定root用户及密码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置结束 此时再次输入mysql就无法进入数据库了
在这里插入图片描述
5.登陆数据库
mysql -uroot -predhat 这样有回显,不是很安全
在这里插入图片描述
所以一般使用 mysql -uroot -p 再输入密码,这样没回显
在这里插入图片描述
6.安全设置

 默认情况下,数据库的网络接口是打开的,为了安全需要关闭此接口
 netstat -antlupe | grep mysql 查看mysql使用的网络接口

/在这里插入图片描述
默认开启3306端口

vim /etc my.cnf
关闭网络接口,开着很不安全,别人可以通过网络接口看到我的数据库
skip-network=1 关闭网络接口3306

在这里插入图片描述
在这里插入图片描述
重启网络发现端口已经关闭

 mysql -uroot -p 本地root用户登录,这样就很安全

数据库的管理

数据库的查询

mysql -uroot -p 先进入数据库

在这里插入图片描述

SHOW DATABASES;查看都有哪些数据库,可以看到存在的数据库的名字

在这里插入图片描述

USE DATABASENAME; 进入指定数据库

在这里插入图片描述

SHOW TABLES;查看数据库中有哪些表格

在这里插入图片描述

DSEC 表格;查看表格的结构    

在这里插入图片描述

SELECT * FROM  TABLENAME;查看表格中的内容

在这里插入图片描述

SELECT Host User (列:字段条件) FROM user(表格名字) WHERE User=‘root’(行条件);相当于查询条件

在这里插入图片描述
注意:所有查询都是以分号结束的

数据库的建立

mysql -uroot -p 进入数据库

在这里插入图片描述

SHOW DATABASES;查看已经有了的库

在这里插入图片描述

CREATE DATABASE westos(名字)建立新库

在这里插入图片描述

USE westos; 进入新建的库
SHOW TABLES; 查看表格,发现为空

在这里插入图片描述

CREATE TABLE linux ( 在这个库里建立表格linux;
-> username varchar(50) 50字符长度 not null 不能为空
-> password varchar(50) not null
); 以这个结尾

在这里插入图片描述

DESC linux查看表格的结构

在这里插入图片描述

INSERT INTO linux(新建表格名字) VALUES('yty','123');插入信息符号必须是英文字符
SELECT * FROM linux; 查询字段在linux表中

在这里插入图片描述

SELECT username from linux; 查看username在linux表中

在这里插入图片描述
数据库更改

数据库的名字不能随便更改(涉及到数据库之间的关注查找)
其实数据库也四以目录下文件的形式存在的
在目录下,也可以直接改数据库的名字,也能成功,但不安全
UPDATE linux SET password=('lee') WHERE username='yty';更改linux表中username是yty的,password为lee ==(明文)==

在这里插入图片描述

UPDATE linux SET password=password('123') WHERE username='yty';更改linux表中username是yty的,password为lee ==(非明文)==

在这里插入图片描述

ALTER TABLE linux ADD classvarchar(5);在linux表里添加列class

在这里插入图片描述

ALTER TABLE linux DROP class;在linux表中删除class这个列
在这里插入图片描述
ALTER TABLE linux ADD age varchar(5) AFTER username; 在linux表中添加age列在username之后,password之前
在这里插入图片描述
ALTER TABLE linux RENAME westos;给linux表改名为westos
在这里插入图片描述

数据库的删除(数据库,表格,表格里面的内容)

删除前先备份 mysqldump -u+用户 -p+密码 +数据库 > /mnt/数据库.sql 

在这里插入图片描述

DELETE FROM westos WHERE username='yty';删除westos表中里面名字是yty这一行

在这里插入图片描述

DROP TABLE westos; 删除TABLE表 westos,
在这里插入图片描述

SHOW  DATABASES;
DROP DATABASE westos; 删除数据库westos;

在这里插入图片描述

恢复数据库westos的时候,先建立这个库再将原来的数据倒入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可见数据已经完全恢复。

插入数据

INSERT INTO westos VALUES ('yty1','5','345');

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

删除yty2用户这一行 DELETE FROM westos WHERE username='yty2'

在这里插入图片描述

INSERT INTO westos VALUES ('yty','66','456');

在这里插入图片描述
当名字一样时候,都为yty1,删除的时候必须要加一个不同的附加条件
在这里插入图片描述

删除两行 DELETE FROM westos WHERE username='yty1'or username='yty3';

在这里插入图片描述

删除westos表

在这里插入图片描述
用户授权

开启网络接口3306
重启mariadb服务
netstat -antlupe | grep mysql 查看网络接口是否开启

在这里插入图片描述
在这里插入图片描述
用root登陆mysql之后,创建一个新的用户:westos,密码也为westos,只能从本地登陆。
在这里插入图片描述
在这里插入图片描述
可见westos用户已经创建。

退出root,用westos登陆,mysql
在这里插入图片描述
可以看到,westos用户看不到DATABASE库。

再次用root用户登陆,然后分配权限。

GRANT SELECT,INSERT on mysql.* TO westos@localhost; 对westos授权mysql这个库里面所有的表格内容

在这里插入图片描述

SHOW GRANTS FOR westos@localhost; 看westos这个本地用户的权力

在这里插入图片描述
再次用westos用户登录mysql
在这里插入图片描述
使用SHOW DATABASES时候已经可以看到myql这个库,使用USE mysql时候,已经可以进去mysql这个库,并且使用SHOW TABLES也可以看到mysql这个库里的表。

再次切换root用户登陆mysql

REVOKE SELECT,INSERT ON mysql.*  FROM westos@localhost; 回收SELECT和INSERT权力对于本地westos用户。

在这里插入图片描述

SHOW GRANTS FOR westos@localhost;

在这里插入图片描述
再次用westos登陆mysql,SHOW DATABASES什么都看不到了
在这里插入图片描述
再次用root登陆

删除westos用户 DROP USER westos@localhost;

在这里插入图片描述
在这里插入图片描述
westos@localhost 用户已经被删除

FLUSH PRIVILEGES 刷新数据库的所有东西
给用户授权必须是root用户阿兹可以查看和给本地用户权力

数据库的备份

mysqldump -uroot -predhat mysql > /mnt/mysql.sql 备份mysql这个库
mysqldump -uroot -predhat --all-database 备份所有库

在这里插入图片描述
数据库的恢复

删除westos库

在这里插入图片描述恢复方式1
先用root用户登陆mysql然后将原来的库建立出来。
在这里插入图片描述
然后再用命令,将备份的数据导入westos库中
在这里插入图片描述
在这里插入图片描述
可看到完全恢复

恢复方式2
先删除westos库
在这里插入图片描述

直接在备份的数据库文件里写入要恢复的库信息
vim /mnt/westos.sql
写入: CREATE DATABASE westos;
USE westos;
mysql -uroot -predhat < /mnt/westos.sql直接恢复数据库

在这里插入图片描述
在这里插入图片描述
再次以root登陆mysql,发现已经全部恢复。
在这里插入图片描述

数据库管理密码问题

知道数据库密码的时候,可以直接更改
mysqladmin -uroot -predhat password westos 将root登陆用户密码改为westos

在这里插入图片描述
密码修改成了westos,且成功登陆

当密码忘记的时候
systemctl stop mariadb 先关闭服务
mysqld_safe --skip grant-tables &将安全检测进程打入后台
mysql 登陆mysql数据库
UPDATE mysql.user set Password=password ('redhat') WHERE User='root'; 改root用户数据库的密码

在这里插入图片描述
再开启一个shell的table shift+ctrl+t
此时可以不用密码直接进入mysql
在这里插入图片描述
在这里插入图片描述结束关于mysql的进程 kill -9
在这里插入图片描述
如果不结束的话,直接重启mariadb服务,设置的密码就没用
在这里插入图片描述
在这里插入图片描述登陆密码为设置的密码。
且mysql不能登陆数据库
在这里插入图片描述
7.安装phpadmin数据库图形管理

yum install -y httpd
firewall-cmd --list-all
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
tar zxf phpMyadmin-4.0-10.20-all-languages.tar.gz -C /var/www/html/
mv phpMyadmin-4.0-10.20-all-languages phpMyadmin
yum install -y php
systemctl restart httpd
yum install -y php-mysql
yum install -y php-mbstring-5.4.16-21.el.x86_64.rpm
systemct restart httpd
通过浏览器访问: http://172.25.254.115/phpMyadmin

在这里插入图片描述
从真机发送安装包给虚拟机

安装httpd
在这里插入图片描述
启动httpd服务,并且设置开机生效
在这里插入图片描述
给firewall中加入http服务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装php服务
在这里插入图片描述
安装php-mysql以及php-mbstring-5.4.16-21.el.x86_64.rpm
在这里插入图片描述
在这里插入图片描述
==重启httpd服务

在浏览器中浏览 http://172.25.254.115/phpMyadmin ,发现可以使用图形化管理数据库
在这里插入图片描述
选择语言用root用户密码登陆即可
在这里插入图片描述
在这里插入图片描述
建立yty111数据库

在yty111数据库中建立westos表
在这里插入图片描述
在这里插入图片描述
插入值。

然后利用命令查看数据库,看用图形的方式建立的数据在不在
在这里插入图片描述
在这里插入图片描述
要确定唯一的值才可以更改表中的数据,我设置了username为唯一
在这里插入图片描述
在这里插入图片描述
成功

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值