从零学习Linux操作系统 第二十部分 mariadb数据库的管理

一、对于数据库的基本介绍

1.什么是数据库
数据库就是个高级的表格软件

2.常见数据库
Mysql Oracle mongodb db2 sqlite sqlserver …

3.Mysql (SUN -----> Oracle)

4.mariadb (Mysql的一种)

数据库中的常用名词
1.字段 :表格中的表头
2.表 :表格
3.库 :存放表格的目录
4.查询 :对表格中的指定内容进行查看

二、数据库的安装及安全初始化

(一)mariadb的安装

dnf install mariadb-server.x86_64 -y

从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第1张图片
启动程序
systemctl enable --now mariadb
在这里插入图片描述

(二)软件的基本信息

启动服务 mariadb.service
默认端口号 3306
主配置文件 /etc/my.cnf.d/mariadb-server.cnf
数据目录 /var/lib/mysql (当需要重新安装mariadb时需要清理此目录或备份)

(三)数据库的安全初始化

1、关闭数据库开放端口

编辑配置文件
在这里插入图片描述
重启服务 systemctl restart mariadb

2、执行安全初始化脚本

数据库安全初始化脚本
mysql_secure_installation
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第2张图片
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第3张图片
设定完密码之后 所有问题全部选是

mysql -uroot -p ## -u 指定登陆用户 -p 密码
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第4张图片

三、数据库的基本管理

首先登陆数据库
mysql -uroot -p
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第5张图片

(一)查看

USE mysql; 进入mysql库
SHOW DATABASES; 显示库名称
SHOW TABLES; 显示库中的所有表
SELECT * FROM user; 查询所有数据
SELECT Host,User,Password FROM user; 查询指定字段

(二)新建

1、 新建库

CREATE DATABASE westos;

从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第6张图片

2、新建表

CREATE TABLE westos.userlist (
在这里插入图片描述
尽量打了(之后 在下一行编写字段信息
再);执行
便于排错
在这里插入图片描述
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第7张图片
插入数据
INSERT INTO westos.userlist VALUES (‘user1’,‘123’);

从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第8张图片

(三)更改

1、更改库

从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第9张图片
一般情况下不会更改库的名字,容易造成数据混淆

登陆数据目录
在这里插入图片描述
将想要更改的库的名字改掉
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第10张图片

2、更改表

USE westos;进入westos库

从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第11张图片
更改表的名字
ALTER TABLE userlist RENAME linux;

从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第12张图片
更改表的结构

添加一个年龄(添加一个age字段)
ALTER TABLE userlist ADD age varchar(4) AFTER password;
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第13张图片
放弃一个字段
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第14张图片
更改表头数据
UPDATE user list set age=18;
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第15张图片
指定一个修改
UPDATE userlist set age=20 WHERE username=‘user1’;

从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第16张图片

(四)删除

删除用户
DELETE FROM userlist WHERE username=‘user’ AND age=‘18’;
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第17张图片
删除表头数据
ALTER TABLE userlist DROP age;

从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第18张图片

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

删除库
DROP DATABASE westos;
在这里插入图片描述

四、数据库的密码管理

(一)数据库密码更改

将数据库的密码从westos 改为lee
mysqladmin -uroot -pwestos password lee
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第19张图片

(二)数据库密码破译

第一步 关闭数据库
systemctl stop mariadb
第二步 启动数据库的安全模式
mysqld_safe --skip-grant-tables &

接下来不需要密码直接可以进入到数据库
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第20张图片
然后 需要更新数据库的信息
更改密码存放的字段的内容

UPDATE mysql.user SET authentication_string=password(‘westos’) WHERE User=‘root’;
在这里插入图片描述
把所有数据库的进程全部过滤出来
ps aux | grep mysql

然后需要结束掉

kill -9 mysql的所有进程
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第21张图片

这样mysql才能重启

重启数据库
systemctl start mariadb

五、数据库的授权操作

CREATE USER lee@‘%’ identified by ‘lee’;
%表示登陆数据库的主机可以是任意主机

CREATE USER lee@‘localhost’ identified by ‘lee’;
localhost表示lee只能再数据库所在的主机中使用

在这里插入图片描述
先建立一个数据库
CREATE DATABASE westos;

再建立一个表
CREATE TABLE westos.userlist (
username varchar(10) not null,
password varchar(50) not null
);
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第22张图片

用lee用户登陆数据库
mysql -ulee -plee
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第23张图片
此时lee用户没有权利查看库
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第24张图片

退出
使用root超级用户登陆并且予之授权
mysql -uroot -p

查看用户的权利
SHOW GRANTS for lee@localhost;
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第25张图片
授权
GRANT INSERT,SELECT ON westos.* TO lee@localhost;
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第26张图片
收回权利 收回INSERT权利
REVOKE INSERT ON westos.* FROM lee@localhost;
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第27张图片

六、数据库的备份及还原

不用进入数据库执行命令
mysql -uroot -p -e “命令”
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第28张图片

备份所有的库
mysqldump -u root -p --all-database

备份 只是需要表不需要里面的数据
mysqldump -u root -p --all-database --no–data

备份指定的库
mysqldump -u root -p westos

输出到文件中
mysqldump -u root -p westos > /mnt/westos.sql
在这里插入图片描述

把数据库中westos库删掉
mysql -uroot -pwestos -e “DROP DATABASE westos;”
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第29张图片

如何将备份出来的westos.sql文件复原

第一种方法 先建立一个库 再将备份文件导入库中

建立一个库
mysql -uroot -pwestos -e “create database westos;”

备份文件导入库中
mysql -uroot -pwestos westos < /mnt/westos.sql

从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第30张图片

第二种方法 编辑配置文件
vim /mnt/westos.sql
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第31张图片
再导入
mysql -uroot -pwestos < /mnt/westos.sql

从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第32张图片

七、数据库的web控制器

安装phpmyadmin的运行环境

dnf install httpd php php-mysqlnd -y
从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第33张图片
开启服务
systemctl enable --now httpd

让火墙运行我们能使用
firewall-cmd --permanent --add-service=http

在这里插入图片描述
将phpmyadmin压缩包解开到默认发布目录

tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 -c /var/www/html/
在这里插入图片描述

从文本模板生成配置文件
cp config.sample.inc.php config.inc.php

可以输入自己的ip信息也可以不进行更改

从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第34张图片
接下来就可以利用图形控制数据库

从零学习Linux操作系统 第二十部分 mariadb数据库的管理_第35张图片

你可能感兴趣的:(数据库,学习,linux)