数据库(Database)是按照数据结构来组织、存储和管理数据的,是建立在计算机存储设备上的仓库。

简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。

这里使用的是Linux自带的数据库mariadb

一、安装部署

#系统默认已经安装该数据库,如果没有安装,使用以下命令进行安装

[root@mail ~]# yum install -y mariadb

#启动数据库服务

[root@mail ~]# systemctl restart mariadb

#初始化数据库

[root@mail ~]# mysql_secure_installation                                         

这里第一次直接回车:

linux 服务器 登录mysql数据库_mysql

为数据库的root设置密码: 

linux 服务器 登录mysql数据库_数据_02

 后面做一些初始化设定,一般都选Y就可以了。

#在防火墙添加永久允许策略

[root@mail ~]# firewall-cmd --permanent --add-service=mysql

#重新加载防火墙配置

[root@mail ~]# firewall-cmd --reload

linux 服务器 登录mysql数据库_mysql_03

 

二、登陆使用

#数据库系统登陆

[root@mail ~]# mysql -uroot -predhat                     //注意这里的命令与参数之间没有空格

[root@mail ~]# mysql -uroot -p                                //这样登录可以隐藏密码  

[root@mail ~]# mysql -u root -h localhost -p [DATABASE NAME]

-u:连接mysql服务器的用户名;

-h:mysql服务器的ip地址或主机名;

-p:连接mysql服务器的密码;

#查看系统有多少数据库

MariaDB [(none)]> show databases;                                          //在数据库中的命令都以;结尾

linux 服务器 登录mysql数据库_mysql_04

#退出数据库系统

MariaDB [(none)]> quit

MariaDB [(none)]> exit

#创建一个数据库

MariaDB [(none)]> create database luntan;

linux 服务器 登录mysql数据库_数据_05

#切换到某个数据库下

MariaDB [mysql]> use mysql;

#查看数据库的表

MariaDB [mysql]> show tables;

linux 服务器 登录mysql数据库_数据库_06

#查看数据表的表结构

MariaDB [mysql]> desc user;

linux 服务器 登录mysql数据库_数据库_07

#查询user表中的某些数据

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

linux 服务器 登录mysql数据库_mysql_08

#创建一张表

MariaDB [mysql]> create table person (

    -> number int(11),

    -> name varchar(255),

    -> birthday date);

linux 服务器 登录mysql数据库_数据_09

#查询创建好的表的表结构

MariaDB [mysql]> desc person;

linux 服务器 登录mysql数据库_数据_10

#插入几条数据

MariaDB [mysql]> insert into person (number,name,birthday) values (1,"haha",20191225);

MariaDB [mysql]> insert into person (number,name,birthday) values (2,"xixi",20191226);

MariaDB [mysql]> insert into person (number,name,birthday) values (3,"hehe",20191227);

linux 服务器 登录mysql数据库_数据库_11

#查询表的内容

MariaDB [mysql]> select * from person;

linux 服务器 登录mysql数据库_数据库_12

#删除表的内容

MariaDB [mysql]> delete from person where name="haha";

MariaDB [mysql]> delete from person where number=3;

linux 服务器 登录mysql数据库_mysql_13

linux 服务器 登录mysql数据库_数据库_14

#更新表中的数据

MariaDB [mysql]> update person set name="haha"  where name="xixi";

linux 服务器 登录mysql数据库_mysql_15

MariaDB [mysql]> update person set number=1 where birthday=20191226;

linux 服务器 登录mysql数据库_mysql_16

三、用户的管理和访问权限的控制

创建数据库登陆用户

MariaDB [mysql]> create user xiaoming@localhost identified by 'redhat';

MariaDB [mysql]> create user xiaohong@localhost identified by "redhat";

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

linux 服务器 登录mysql数据库_数据_17

查看当前使用用户:

MariaDB [(none)]> select user();

linux 服务器 登录mysql数据库_mysql_18

查看当前用户的数据库:

MariaDB [(none)]> select database();

linux 服务器 登录mysql数据库_数据库_19

 使用小明用户登录数据库:

[root@localhost ~]# mysql -u xiaoming -p

#查看可以访问的数据库

MariaDB [(none)]> show databases;

linux 服务器 登录mysql数据库_数据_20

#以root用户登录给xiaoming用户一张表的权限

MariaDB [(none)]> grant select,update,insert,delete on mysql.person to xiaoming@localhost; 

退出数据库系统,并使用xiaoming用户重新登陆

[root@localhost ~]# mysql -u xiaoming -p

MariaDB [(none)]> use mysql;

linux 服务器 登录mysql数据库_mysql_21

#测试各种权限

MariaDB [mysql]> select * from person;

MariaDB [mysql]> insert person (number,name,birthday) value (3,"xiaoming",20181228);

MariaDB [mysql]> update person set name="xixi" where number=1

MariaDB [mysql]> delete from person where number=1;

#使用root用户登录,改变xiaoming用户的权限

MariaDB [(none)]> revoke

#使用select语句进行删除表数据,确认权限已被禁用

MariaDB [mysql]> delete from person where number=3 ;

linux 服务器 登录mysql数据库_数据库_22

四、备份和还原

备份整个数据库的所有表

[root@mail ~]# mysqldump -u root -p mysql > /mysql_backup_20160510.dump     //做一个备份文件,位置可以选择

#使用root用户登录数据库,删除person表

MariaDB [mysql]> drop table person;

#退出系统,进行还原操作

[root@mail ~]# mysql -u root -p mysql < /mysql_backup_20160510.dump

 或者使用source命令读入表信息。

#登陆数据库系统

[root@mail ~]# mysql -u root -p

#查看person表

MariaDB [mysql]> select * from person;