DBA数据库服务基础和案例

数据库服务基础

构建数据库系统
    数据库:一批数据的集合,主流的数据库多用来存放关系型表格数据
    关系型数据:已二维表格记录大量实体的属性信息
    DBMS,数据库管理软件

部署mariadb数据库服务器

RHEL7中的MariaDB相关包
maniadb-server:提供服务端相关的程序
端口:3306

搭建基本的数据库
    1.安装软件mariadb-server    
            [root@server0 ~]# yum -y install   mariadb-server
                    
    2.开启数据库服务
            [root@server0 ~]# systemctl restart mariadb
            [root@server0 ~]# systemctl enable mariadb

    3.进入MariaDB数据库  基本操作
            [root@server0 ~]# mysql
            MariaDB [(none)]> show databases;                                   //查看所有的库
            MariaDB [(none)]> create  database   nsd1802;                       //创建数据库
            MariaDB [(none)]> drop  database  nsd1802;                          //删去数据库
            MariaDB [(none)]> exit                      

    4.设置MariaDB数据管理员的密码
        数据库root管理员与系统root管理员不为同一个用户
        数据库管理员root:mysql库中user表
        系统管理员root:/etc/passwd
        musqladmin [-u  用户名}  [-p  旧密码]   password  ‘新密码’
            [root@server0 ~]# mysqladmin -u root password  '123'                //创建密码
            [root@server0 ~]# mysql -u root  -p
    
        数据库主配置文件:/etc/my.cnf
        
    5.导入数据库的数据
            [root@server0 ~]# wget  http://classroom.example.com/pub/materials/users.sql     //服务器上已备份的文件路径classroom

            [root@server0 ~]# mysql  -u root -p123 nsd1802 <  users.sql         //导入表格绝对路径
            [root@server0 ~]# mysql -u root  -p123                              //-p后面直接输入密码直接登入
            MariaDB [nsd1802]> show databases;                              //查看当前表格
            MariaDB [nsd1802]> use nsd1802;                                 //use切换数据库(数据库没有上一级   use直接切换)
            MariaDB [nsd1802]> show tables;                                 //查看当前库的所有表格
            MariaDB [nsd1802]> select * from base;                              //查看base表格内的所有内容 *代表所有内容
    对于表有四个操作:增(insert)删(delete)查(select)改(update)

    查看表结构:desc  表格:
            MariaDB [mysql]> select * from nsd1802.base;
    
    创建新的数据表(数据库的授权,不需要创建本地用户)
         有条件的查询: where   or=或   and=且

        GRANT  权限列表  ON 数据库名.表名  TO  用户名@客户机地址  IDENTIFIED  BY ‘密码’;
        grant  select on  nsd1802.*  to  lisi@localhost  identified by '123';           //授权并创建用户
        
    [root@server0 ~]# mysql -u  lisi  -p123                 

    [root@server0 ~]# mysql -u root -p123                       //登陆root用户为lisi授权

    MariaDB [(none)]> grant select on nsd1802.* to lisi@localhost identified by '123';      //授权lisi查看的权限
                     select  查看       localhost   本地用户     identified   创建查看密码

案例5:使用数据库查询

  1. 在系统 server0 上使用数据库 nsd1802,并使用相应的 SQL 查询以回答下列问题:1)密码是 solicitous 的人的名字? 有条件的查询: where or=或 and=且[root@server0 ~]# mysql -u root -p123MariaDB [(none)]> use nsd1802;

MariaDB [nsd1802]> select * from base;

MariaDB [nsd1802]> select * from base where password='solicitous';

MariaDB [nsd1802]> select name from base where password='solicitous';

MariaDB [nsd1802]> select * from base where name='tom';

2)有多少人的姓名是 Barbara 同时居住在 Sunnyvale? (多表联合查询) (or=或 and=且)MariaDB [nsd1802]> use nsd1802MariaDB [nsd1802]> select * from base,location where base.name='Barbara' and location.city='Sunnyvale' and base.id=location.id;

MariaDB [nsd1802]> select count(*) from base,location where base.name='Barbara' and location.city='Sunnyvale' and base.id=location.id;

MariaDB [nsd1802]> insert base values (6,'Barbara','321');MariaDB [nsd1802]> select * from base;

MariaDB [nsd1802]> insert location values (6,'Sunnyvale');MariaDB [nsd1802]> select * from location;

MariaDB [nsd1802]> select * from base,location where base.name='Barbara' and location.city='Sunnyvale' and base.id=location.id;

#
  1. 禁止空密码root用户访问 mariadb 数据库(user表为登陆数据库用户的信息表)

MariaDB [nsd1802]> use mysql;

MariaDB [mysql]> select user,host,password from user;

MariaDB [mysql]> select user,host,password from user where password='';

MariaDB [mysql]> delete from user where password=''; #删除表记录

MariaDB [mysql]> flush privileges; #刷新数据库策略MariaDB [mysql]> exit

[root@server0 ~]# mysql -u root -h server0.example.com #测试网络登陆

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值