数据库
数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。
简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。
关系型数据库:
数据库名
表名
表结构
表数据
数据的特点:一一对应
一、安装部署
#系统默认已经安装该数据库,如果没有安装,使用以下命令进行安装
[root@mail ~]# yum install -y mariadb
#启动数据库服务
[root@mail ~]# systemctl restart mariadb
#初始化数据库
[root@mail ~]# mysql_secure_installation
#在防火墙添加永久允许策略
[root@mail ~]# firewall-cmd --permanent --add-service=mysql
#重新加载防火墙配置
[root@mail ~]# firewall-cmd --reload
二、登陆使用
#数据库系统登陆
[root@mail ~]# mysql -uroot -predhat
[root@mail ~]# mysql -uroot -p
[root@mail ~]# mysql -u root -h localhost -p [DATABASE NAME]
#查看系统有多少数据库
MariaDB [(none)]> show databases;
两个其他的方案不用管。
#退出数据库系统
MariaDB [(none)]> quit
MariaDB [(none)]> exit
#创建一个数据库
MariaDB [mysql]> create database luntan;
#切换到某个数据库下
MariaDB [mysql]> use mysql;
#查看数据库的表
MariaDB [mysql]> show tables;
#查看数据表的表结构
MariaDB [mysql]> desc user;
#查询user表中的某些数据
MariaDB [mysql]> select host,user,password from user;
#创建一张表
MariaDB [mysql]> create table person (
NUMBER INT(11),
NAME VARCHAR(255),
BIRTHDAY DATE );
#查询创建好的表的表结构
MariaDB [mysql]> desc person;
#插入几条数据
MariaDB [mysql]> insert into person (number,name,birthday) values (1,'haha',20160509);
MariaDB [mysql]> insert into person (number,name,birthday) values (2,'heihei',20160609);
MariaDB [mysql]> insert into person (number,name,birthday) values (3,'maomao',20160709);
#查询表的内容
MariaDB [mysql]> SELECT * FROM person;
#删除表的内容
MariaDB [mysql]> delete from person where name="maomao";
MariaDB [mysql]> delete from person where number=1;
#更新表中的数据
MariaDB [mysql]> update person set name="xixi" where name="heihei";
MariaDB [mysql]> update person set name="haha" where number=2;
三、用户的管理和访问权限的控制
创建数据库登陆用户
MariaDB [mysql]> create user maomao@localhost identified by 'redhat';
MariaDB [mysql]> create user xixi@localhost identified by 'xixi';
查看当前使用用户:MariaDB [(none)]> select user();
查看当前用户的数据库:MariaDB [(none)]> select database();
#查看结果
MariaDB [mysql]> select host,user from user where user="maomao";
#退出重新使用maomao用户登录数据库
[root@mail ~]# mysql -u maomao -p
#查看可以访问的数据库
MariaDB [(none)]> show databases;
#给maomao用户一张表的权限
MariaDB [mysql]> grant select,update,insert,delete on mysql.person to maomao@localhost;
退出数据库系统,并使用maomao用户重新登陆
#测试查询的权限
MariaDB [mysql]> select * from person;
#测试插入的权限
MariaDB [mysql]> insert person (number,NAME,BIRTHDAY) value (1,"hehe",20161010);
#测试更新数据的权限
MariaDB [mysql]> update person set name="heihei" where number=2;
#测试删除数据的权限
MariaDB [mysql]> delete from person where number=1;
#使用root用户登录,改变maomao用户的权限
MariaDB [mysql]> revoke select on mysql.person from maomao@localhost;
#使用select语句进行查询表,确认权限已被禁用
MariaDB [mysql]> select * from person;
四、备份和还原
[root@mail ~]# mysqldump -u root -p mysql > /mysql_backup_20160510.dum
#使用root用户登录数据库,删除person表
#查询person表
MariaDB [mysql]> select * from person;
#删除表
MariaDB [mysql]> drop table person;
#退出系统,进行还原操作
[root@mail ~]# mysql -u root -p mysql < /mysql_backup_20160510.dump
#登陆数据库系统
[root@mail ~]# mysql -u root -p
#查看person表
MariaDB [mysql]> select * from person;