配置一个数据库

4案例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方案

为数据库账号修改密码:

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

导入/恢复到数据库:

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

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

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

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

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

1)修改配置文件

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

2)重启mariadb服务

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

3)确认结果

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

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

1)使用mysqladmin为用户root设置密码
原管理账号root的密码为空,因此无需验证旧密码:

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

2)验证新密码是否可用
root使用空密码从本机连接将会失败:

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

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

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

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

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

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

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

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

3)导入数据库

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

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

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

步骤四:为Contacts库授权

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

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

2)退出操作环境

MariaDB [Contacts]> QUIT
Bye
[root@server0 ~]#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值