mariadb 配置一个数据库

案例4:配置一个数据库

4.1 问题

本例要求在虚拟机server0上部署 MariaDB 数据库,具体要求如下:

  1. 此数据库系统只能被 localhost 访问
  2. 新建一个数据库名为 Contacts,其中应该包含来自数据库复制的内容,复制文件的 URL 为:http://classroom/pub/materials/users.sql
  3. 除了 root 用户,此数据库只能被用户 Raikon 查询,此用户的密码为atenorth
  4. root用户的密码为 atenorth

4.2 方案

为数据库账号修改密码:

  1. mysqladmin  [-u用户名]  [-p[旧密码]]  password  '新密码'

导入/恢复到数据库:

  1. mysql  [-u用户名]  [-p[密码]]  数据库名  <  备份文件.sql

为数据库用户授权/撤销权限:

  1. grant  权限1,权限2...  on  库名.表名  to  用户名@客户机地址  identified  by '密码';
  2. revoke 权限1,权限2... on  库名.表名  from  用户名@客户机地址;

4.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:禁止mariadb服务提供网络监听(只服务于本机)

1)修改配置文件

  1. [root@server0 ~]# vim  /etc/my.cnf
  2. [mysqld]
  3. skip-networking                                          //跳过网络

2)重启mariadb服务

  1. [root@server0 ~]# systemctl  restart  mariadb              //重启服务

3)确认结果

  1. [root@server0 ~]# netstat  -anptu  |  grep  :3306          //已经不提供端口监听
  2. [root@server0 ~]# pgrep  -l  mysqld                      //但进程仍在
  3. 3127 mysqld_safe
  4. 3297 mysqld

步骤二:配置数据库管理密码

1)使用mysqladmin为用户root设置密码

原管理账号root的密码为空,因此无需验证旧密码:

  1. [root@server0 ~]# mysqladmin  -u  root  password  'atenorth'

2)验证新密码是否可用

root使用空密码从本机连接将会失败:

  1. [root@server0 ~]# mysql  -uroot
  2. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

必须指定正确的新密码才能连接成功:

  1. [root@server0 ~]# mysql  -uroot  -patenorth
  2. Welcome to the MariaDB monitor.  Commands end with ; or \g.
  3. Your MariaDB connection id is 4
  4. Server version: 5.5.35-MariaDB MariaDB Server
  5. Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.
  6. Type 'help;' or '\hfor help. Type '\c' to clear the current input statement.
  7. .. ..

步骤三:建Contacts库并导入备份数据

1)创建新库Contacts,并退出操作环境

  1. MariaDB [(none)]> CREATE  DATABASE  Contacts;
  2. Query OK, 1 row affected (0.00 sec)
  3. MariaDB [(none)]> QUIT
  4. Bye

2)下载指定的数据库备份

  1. [root@server0 ~]# wget  http://classroom.example.com/pub/materials/users.sql
  2. --2016-11-26 19:00:37--  http://classroom.example.com/pub/materials/users.sql
  3. Resolving classroom.example.com (classroom.example.com)... 172.25.254.254
  4. Connecting to classroom.example.com (classroom.example.com)|172.25.254.254|:80... connected.
  5. HTTP request sent, awaiting response... 200 OK
  6. Length: 2634 (2.6K) [application/sql]
  7. Saving to: ‘users.sql’
  8. 100%[=====================>] 2,634       --.-K/s   in 0s
  9. 2016-11-26 19:00:37 (269 MB/s) - ‘users.sql’ saved [2634/2634]
  10. [root@server0 ~]# ls  -lh  users.sql                      //确认下载的文件
  11. -rw-r--r--. 1 root root 2.6K Mar 31  2016 users.sql

3)导入数据库

  1. [root@server0 ~]# mysql  -uroot  -patenorth  Contacts  <  users.sql

4)重新连入操作环境,确认导入结果

  1. [root@server0 ~]# mysql  -uroot  -patenorth
  2. .. ..
  3. MariaDB [(none)]> USE  Contacts;                     //使用指定库
  4. Database changed
  5. MariaDB [Contacts]> SHOW  TABLES;                  //列出有哪些表
  6. +--------------------+
  7. | Tables_in_Contacts |
  8. +--------------------+
  9. | base               |
  10. | location           |
  11. +--------------------+
  12. 2 rows in set (0.00 sec)

步骤四:为Contacts库授权

1)允许用户Raikon从本机访问,具有查询权限,密码为atenorth

  1. MariaDB [Contacts]> GRANT  select  ON  Contacts.*  TO  Raikon@localhost  IDENTIFIED BY  'atenorth';
  2. Query OK, 0 rows affected (0.00 sec)

2)退出操作环境

  1. MariaDB [Contacts]> QUIT
  2. Bye
  3. [root@server0 ~]#

配置一个mariadb数据库《二》的更多相关文章

  1. 工程师技术(二):postfix基础邮件服务、postfix空客户端邮件服务、搭建mariadb数据库系统、配置一个数据库、使用数据库查询

    一.postfix基础邮件服务 目标: 本例要求在虚拟机server0上配置 postfix 基础服务,具体要求如下: 1> 监听本机的所有接口    2> 将邮件域和邮件服务主机名都改为 ...

  2. 基于Linux系统的MariaDB数据库的安装配置

    数据库是指长期存储在计算机内.有组织的和可共享的数据集合.表是数据库存储数据的基本单位,一个表由若干个字段组成 MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 G ...

  3. Linux下编译安装配置MariaDB数据库

    说明:操作系统:CentOS 6.6  64位MariaDB版本:mariadb-5.5.33aMariaDB数据库存放目录:/data/mysql准备:一.配置防火墙,开启3306端口vi /etc ...

  4. CentOS 7.0下配置MariaDB数据库

    刚刚配置了下CentOS 7.0版本的服务器,配置数据库时发现# mysql_secure_installation命令用不了,之后网上查了一下发现CentOS 7.0版本用MariaDB替换了mys ...

  5. centos 安装oracle 11g r2(二)-----监听配置与创建数据库实例

    centos 安装oracle 11g r2(二)-----监听配置与创建数据库实例 一.监听配置(命令:netca) 1.以 oracle 用户输入命令,启动图形化工具配置监听 [oracle@lo ...

  6. CentOS7下MariaDB数据库安装及配置

    前言 MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品.在存 ...

  7. CDbConnectionExt.php 23.2实现数据库的主从分离,该类会维护多个数据库的配置:一个主数据库配置,多个从数据库的配置

      <?php   /** * 实现数据库的主从分离,该类会维护多个数据库的配置:一个主数据库配置,多个从数据库的配置. * 具体使用主数据库还是从数据库,使用如下规则: * 1.CDbComm ...

  8. ANDROID Porting系列二、配置一个新产品

    ANDROID Porting系列二.配置一个新产品 详细说明 下面的步骤描述了如何配置新的移动设备和产品的makefile运行android. 1.         目录//vendor/创建一个公 ...

  9. 创建一个MongoDB数据库再到配置成Window服务再设置用户名密码

    1.安装MongoDB数据在官网下载安装 然后在C盘找到C:\Program Files\MongoDB\Server\4.0\bin这个可执行目录 使用cmd进入到这: 2.在C盘根目录创建一个名为 ...

随机推荐

  1. web实验二 ---通过jQuery实现用户注册身份验证

    通过jQuery实现用户注册身份验证,当每个文本框失去焦点时进行该文本框内容校验,并将校验信息在文本框右侧显示出结果. 具体校验要求: 1.用户名由6-18位字符组成 2.密码由6-18位字符组成,且 ...

  2. Java自学路线图之Java基础自学

    自学Java要从Java基础语法开始自学,自学Java的过程中打好基础是很重要的!首先自学:面向对象基础,API基础,集合基础.这些对Java小白的数学和英语能力的要求门槛不高,在学习的过程中积累相应 ...

  3. 扫码枪读取条形码数据(vue)

    扫码枪是模拟键盘输入的,所有事件为document.onkeypress = function(){}. 在vue项目中,是没有window.onload的,所以在created钩子函数中做: var ...

  4. D2T1服务器需求——毒?瘤题(并不是

    这题我第一眼居然差点错了\(OTZ\) 然后写了线段树,还写挂了-- 写好了\(query\)操作,发现似乎不需要区间查询,然后又删掉-- 看着这熟悉的操作,似乎在哪里见过-- 然后我莫名其妙把一个\ ...

  5. 创建Sphinx + GitHub + ReadtheDocs托管文档

    最新博客链接 "Tsanfer's Blog" 创建Sphinx + GitHub + ReadtheDocs托管文档 Readthedocs在线电子书链接

  6. Python3学习之路~10.2 协程、Greenlet、Gevent

    一 协程 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切 ...

  7. Redis 的键命令、HyperLogLog 命令、脚本命令、连接命令、服务器命令

    Redis 的键命令.HyperLogLog 命令.脚本命令.连接命令.服务器命令 Redis 的键命令 Redis 的键命令主要用于管理 Redis 的键,如删除键.查询键.修改键及设置某个键等. ...

  8. android 练习效果(界面一)

  9. Scapy编写ICMP扫描脚本

    使用Scapy模块编写ICMP扫描脚本: from scapy.all import * import optparse import threading import os def scan(ipt ...

  10. [币严BIZZAN区块链]Java生成ETH钱包助记词、私钥、地址

    本文主要介绍在Java工程中如何生成ETH钱包的助记词.私钥.地址. 一.在之前创建的spring boot 项目中的 pom.xml文件中加入需要的依赖 <dependency> < ...