当前位置: 首页 > article >正文

任务8 数据库服务配置与管理

数据库服务概述

数据库管理系统

用于建立、修改、访问和维护数据库。

具有多用户和多任务的特性,支持多个用户和应用程序同时进行操作。

数据库管理员通过DBMS对数据库进行统一的管理和控制。

维护数据的安全性和完整性。

按照数据在数据库中的存储和管理方式分为三种类型,即层次型数据库、网状型数据库和关系型数据库。

关系型数据库

将数据及数据关系用简单的二维表结构表示

行和列组成一张数据表

实体(entity):一张表代表一个实体,是对事物及其关系分类的结果

行(row):表的一行也称为一条记录,代表实体的一个实例

列(column):表的一列也称为一个字段(field),表示实体的一个属性(attribute)

值(value):实例属性的具体取值

键(key):键是表的某1列或某几列,用来识别表中特定的行

数据库服务端配置

Mariadb安装与启停

软件名称:mariadb-server、mariadb ,后台守护进程: mariadb。

yum  install  mariadb-server  mariadb  -y
rpm  -qa  |  grep  mariadb
systemctl  start | stop | restart | status | enable  mariadb

数据库初始化及登录

执行mysql_secure_installation命令对数据库进行初始化操作

        设置root用户登录数据库时的密码

        删除匿名用户

        禁止root用户远程登录

        删除默认的测试数据库

        刷新数据库授权列表,使数据库初始化设置立即生效

使用mysql命令即可登录MariaDB数据库

        -u选项后跟登录用户名,-p选项指定需要输入登录密码

mysql_secure_installation
Enter current password for root (enter for none):	<== 输入root用户密码
Set root password? [Y/n]  y						<== 设置root用户密码
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n]	y				<== 删除匿名用户
Disallow root login remotely? [Y/n]  y				<== 取消root用户远程登录
Remove test database and access to it? [Y/n] y		<== 删除test的数据库及访问权限
Reload privilege tables now? [Y/n] y				<== 刷新授权表使修改生效
[root@centos7 ~]# mysql  -u  root  -p
Enter password: 			<== 输入root用户密码
……
MariaDB [(none)]> quit
Bye

数据库常用操作 

数据库恢复与备份

// 备份全部数据库
mysql  -u  root  -p  -A  > /tmp/backup1.sql
 // 备份db1和db2两个数据库
mysqldump  -u  root  -p  --databases  db1  db2 > /tmp/backup2.sql
 // 备份db1数据库中的表t1
mysqldump  -u  root  -p  --databases  db1  --tables  t1 > /tmp/backup3.sql
 // 备份db1数据库中的表t1里的指定记录
mysqldump -u root -p --databases db1 --tables t1 --where=’id=25’ > /tmp/backup4.sql
 // 备份db1数据库中的表结构
mysqldump  -u  root  -p  --no-data  --databases  db1 > /tmp/backup5.sql
 // 恢复数据库,将数据库备份文件输入重定向至mysqldump
mysqldump  -u  root  -p  < /tmp/backup1.sql

数据库配置实例

具体配置需求及实现步骤如下:

1、安装MariaDB数据库软件。

yum  install  mariadb-server  mariadb  -y

2、启动数据库服务 

systemctl  restart  mariadb

3、初始化数据库时设置root用户密码、删除匿名用户和测试数据库,同时禁止root用户远程登录数据库

mysql_secure_installation
Enter current password for root (enter for none):
Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

4、创建新用户mailadmin,密码为ChinaSkill22!

先用root用户登陆数据库

mysql  -u  root  -p

 再新建用户

create  user  mailadmin@'localhost'  identified  by  'ChinaSkill22!' ;

5、创建数据库maildb

create  database  maildb ;

6、在maildb中创建表mailbox,包含4个字段,分别是username、pwd、domain、ctime。其中,username是主键。

先使用maildb

use  maildb;

 再创建表

create table mailbox (username varchar(60) primary key, pwd varchar(20), domain varchar(40), ctime datetime) ;

7、授权mailadmin用户完全操作mailbox表

grant  all  privileges  on  mail.mailbox  to  mailadmin@'%' ;

8、以mailadmin用户身份登录数据库,切换到maildb数据库。

先退出当前用户

quit

再登录mailadmin 

mysql  -u  mailadmin  -p

切换到maildb数据库

 use  maildb ;

9、向mailbox表中插入两条数据,用户名分别为mailuser1@chinaskills.cn和mailuser2@chinaskills.cn,密码默认为123456

insert into mailbox values ('mailuser1@chinaskills.cn', '123456', 'chinaskills.cn', '2022-11-30 11:02:25'); 
insert into mailbox values ('mailuser2@chinaskills.cn', '123456', 'chinaskills.cn', '2022-11-30 11:02:25');
select  *  from  mailbox ;

 

10、备份mailbox表中数据

先退出

quit

再备份

 mysqldump -u root -p --databases maildb --tables mailbox > /tmp/mailbox.sql
 ls  -l  /tmp/mailbox.sql


http://www.kler.cn/a/453257.html

相关文章:

  • Java抽象工厂+单例模式
  • 命令行之巅:Linux Shell编程的至高艺术(中)
  • apisix的hmac-auth认证
  • Unittest02|TestSuite、TestRunner、HTMLTestRunner、处理excel表数据、邮件接收测试结果
  • JOGL 从入门到精通:开启 Java 3D 图形编程之旅
  • “高精度算法”思想 → 大数阶乘
  • 力扣面试题 39 - 三步问题 C语言解法
  • 遗传萤火虫算法的原理
  • 【Git】—— 代码版本控制工具git的安装及基本使用
  • 【C++动态规划】1458. 两个子序列的最大点积|1823
  • 深度解析DAPP开发 | 智能合约与业务应用
  • Bert各种变体——RoBERTA/ALBERT/DistillBert
  • 容器化平台Docker初识
  • 动态规划<五> 子数组问题(含对应LeetcodeOJ题)
  • 下载运行Vue开源项目vue-pure-admin
  • 如何利用AWS监听存储桶并上传到tg bot
  • 模型 易得性偏差
  • 漏洞扫描:网络安全的 “体检” 与 “防护指南”
  • 常用的数据结构的时间复杂度
  • 实现某海外大型车企(T)Cabin Wi-Fi 需求的概述 - 4
  • 某些iphone手机录音获取流stream延迟问题 以及 录音一次第二次不录音问题
  • Python调用Elasticsearch更新数据库
  • Linux | 零基础Ubuntu搭建JDK
  • ref 和 reactive 的用法和区别
  • 【再学javascript算法之美】前端面试频率比较高的基础算法题
  • 新浪微博C++面试题及参考答案