美文网首页Oracle
Linnux企业级运用:数据库服务器:MariaDB配置与管理(

Linnux企业级运用:数据库服务器:MariaDB配置与管理(

作者: 似朝朝我心 | 来源:发表于2021-10-22 11:47 被阅读0次

课外知识:查询数据库全球市场占有率(2021年10月份)前十名如下。

附:网址

https://db-engines.com/en/ranking

项目要求如下:

操作如下:

1. MariaDB数据库的安装与配置

  • 挂载光盘


  • 事先查看安装某工具时所携带捆绑的插件


  • 安装mariadb-server服务端(该工具内含mariadb客户端)


  • 开启mariadb服务和配置开机自启,并且查看服务,发现端口3306


  • 首次匿名登录访问数据库


  • 但免密登录并不安全,为了禁止匿名登录,实施数据库安全配置


  • 安全配置过程如下:
    设置新的密码——移除匿名用户——限制root账户远程登录——移除测试数据库test



  • 再次使用root账户匿名登录,发现root账户匿名登录数据库失败


  • 使用刚刚配置的密码登录



  • Linux的shell环境下,非交互模式下登录数据库


  • Linux的shell环境下,非交互模式下登录数据库,并且查看某表对应的数据



2.创建数据库与授权

mariaDB交互模式下:

  • 准备恢复的数据库文件


  • users.mdb内容如下:
-- MySQL dump 10.14  Distrib 5.5.35-MariaDB, for Linux (x86_64)
--
-- Host: localhost    Database: Contacts
-- ------------------------------------------------------
-- Server version   5.5.35-MariaDB

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `u_name`
--

DROP TABLE IF EXISTS `u_name`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `u_name` (
  `userid` int(11) NOT NULL AUTO_INCREMENT,
  `firstname` varchar(50) NOT NULL,
  `lastname` varchar(50) NOT NULL,
  PRIMARY KEY (`userid`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `u_name`
--

LOCK TABLES `u_name` WRITE;
/*!40000 ALTER TABLE `u_name` DISABLE KEYS */;
INSERT INTO `u_name` VALUES (1,'san','zhang'),(2,'si','li'),(3,'wu','wang'),(4,'Barack','Obama'),(5,'George','Walker Bush'),(6,'Bill','Clinton'),(7,'Hillary','Clinton'),(8,'John','Clinton'),(9,'George','wang'),(10,'John','li'),(11,'Bill','wang'),(12,'George','Obama'),(13,'George','wang'),(14,'Michael','Jackson'),(15,'John','Clinton'),(16,'Michael','Walker Bush'),(17,'Michael','Obama'),(18,'Hillary','Jackson'),(19,'Georgexx','Jackson'),(20,'Barack','Jackson'),(21,'John','Jackson'),(22,'John','Obama'),(23,'John','Clinton'),(24,'John','Walker Bush'),(25,'John','wang');
/*!40000 ALTER TABLE `u_name` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `u_passwd`
--

DROP TABLE IF EXISTS `u_passwd`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `u_passwd` (
  `uid` int(11) NOT NULL AUTO_INCREMENT,
  `password` varchar(50) NOT NULL,
  PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `u_passwd`
--

LOCK TABLES `u_passwd` WRITE;
/*!40000 ALTER TABLE `u_passwd` DISABLE KEYS */;
INSERT INTO `u_passwd` VALUES (1,'redhat'),(2,'fedora'),(3,'centos'),(4,'centes'),(5,'redhrt'),(6,'ridhat'),(7,'redfat'),(8,'fadora'),(9,'cantos'),(10,'redhap'),(11,'contos'),(12,'fcdora'),(13,'cendora'),(14,'tangene'),(15,'tangrine'),(16,'tangerone'),(17,'tangeine'),(18,'taangerine'),(19,'tangerine'),(20,'tanggerine'),(21,'anggerine'),(22,'aggerine'),(23,'taggerine'),(24,'tanerine'),(25,'tannerine');
/*!40000 ALTER TABLE `u_passwd` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `u_loc`
--

DROP TABLE IF EXISTS `u_loc`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `u_loc` (
  `uid` int(11) NOT NULL AUTO_INCREMENT,
  `location` varchar(50) NOT NULL,
  PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `u_loc`
--

LOCK TABLES `u_loc` WRITE;
/*!40000 ALTER TABLE `u_loc` DISABLE KEYS */;
INSERT INTO `u_loc` VALUES (1,'Shenzhen'),(2,'Guangzhou'),(3,'Santa Clara'),(4,'Santa Clara'),(5,'San Francisco'),(6,'Santa Calara'),(7,'Santa Clare'),(8,'Santa Clara'),(9,'Florida'),(10,'Santa Claraa'),(11,'Florida'),(12,'State of Texas'),(13,'State of Texas'),(14,'Santa Claraa'),(15,'Santa Clara'),(16,'Colorado?CO'),(17,'Hawaii?HI'),(18,'Santa Calara'),(19,'Santa Clra'),(20,'Santa Clara'),(21,'Santa Clara'),(22,'Minnesota'),(23,'Vermont'),(24,'Santa Clara'),(25,'Minnesota');
/*!40000 ALTER TABLE `u_loc` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2016-07-24 18:17:53
  • 进入数据库交互模式


  • 创建数据库,并且查看数据库信息


  • 导入需要恢复到UserData数据库的脚本文件


  • 查看UserData数据库下的所有表


  • 使用desc命令查看u_loc表、u_name表、u_passwd表的字段


  • 查看u_loc、u_name、u_passwd三个表插入数据是否成功




Linux的Shell环境下:

  • 删除刚刚交互模式下创建的UserData数据库,改为在Linux的shell环境,非交互模式下再次创建UserData数据库



  • 使用创建的数据库并且将脚本文件定向到该DB下


  • 重新进入交互界面查看表的相关信息




用户授权操作:仅授予select权限,针对UserData数据库下的所有资源,仅限在qfb该用户本机登录

  • 使用授权用户登录数据库


  • 查看授权信息,qfb该用户仅有select查询权限


  • 查看授权信息,qfb该用户仅有select查询权限,并无删除表权限


  • 查看授权信息,qfb该用户仅有使用UserData数据库的select查询权限,并无使用mysql数据库的权限



3.数据查询

  • 三表如下:


任务1:密码是fadora 的人的名字是什么?

  • 方法1:分步查询


  • 方法2:多表查询


  • 方法3:多表联合查询:
    join联合2个表拼接成1个表,再加予where and 的约束条件

任务2:有多少人的姓名是 John ,同时居住在 Santa Clara(有4人)

  • 多表查询:


  • 多表联合查询:


相关文章

网友评论

    本文标题:Linnux企业级运用:数据库服务器:MariaDB配置与管理(

    本文链接:https://www.haomeiwen.com/subject/vsvcaltx.html