MARIADB数据库服务器
MariaDB 是一个采用 Maria 存储引擎的MySQL分支版本,是由原来 MySQL 的作者Michael Widenius创办的公司所开发的免费开源的数据库服务器
关系型数据库:数据库中数据与数据有关系,表与表有关系(例如:学生信息表)
非关系型数据库:内存数据库、文档数据库、键值对数据库(key=value)、时序数据库等
一、安装部署
1.系统默认已经安装该数据库,如果没有安装,使用以下命令进行安装
[root@mail ~]# yum install -y mariadb*
2.启动数据库服务
[root@mail ~]# systemctl start mariadb
3.初始化数据库
[root@mail ~]# mysql_secure_installation
注:初始化之后的密码不是本机root的密码,而是数据库的密码,直接回车进入下一步输入两次设置密码,后面其他所有的选项都选Y
4.在防火墙添加永久允许策略
[root@mail ~]# firewall-cmd --permanent --add-service=mysql
5.重新加载防火墙配置
[root@mail ~]# firewall-cmd --reload
二、登陆使用
1.数据库系统登陆
[root@mail ~]# mysql -uroot -predhat #带密码登录
[root@mail ~]# mysql -uroot -p
[root@mail ~]# mysql -u root -h localhost -p [DATABASE NAME]
查看系统有多少个数据库
MariaDB [(none)]> show databases; #[none]代表没使用数据库
2.退出数据库系统
MariaDB [(none)]> quit
MariaDB [(none)]> exit
3.创建一个数据库
MariaDB [mysql]> create database luntan;
5.切换到某个数据库下
MariaDB [mysql]> use mysql; #使用mysql这个数据库
查看数据库的表
MariaDB [mysql]> show tables;
查看数据表的表结构
MariaDB [mysql]> desc user;
查询user表中的某些数据
MariaDB [mysql]> select host,user 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;
三、用户的管理和访问权限的控制
mysql -u(用户名) -p(密码) #用某个用户登录时需退出数据库
1.创建数据库登陆用户
MariaDB [mysql]> create user maomao@localhost identified by 'redhat';
MariaDB [mysql]> create user xixi@localhost identified by 'xixi';
identified by后面跟的是创建用户的密码
查看结果
MariaDB [mysql]> select host,user from user where user="maomao";
2.退出数据库重新使用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; #mysql.person mysql中的person表
3.退出数据库系统,并使用maomao用户重新登陆
测试查询的权限
MariaDB [mysql]> select * from person;
测试插入的权限
MariaDB [mysql]> insert into 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;
4.使用root用户登录,改变maomao用户的权限
MariaDB [mysql]> revoke select on mysql.person from maomao@localhost;
使用select语句进行查询表,确认权限已被禁用
MariaDB [mysql]> select * from person;
四、备份和还原
1.备份:使用root用户登录数据库,用mysqldump命令导出数据库
[root@mail ~]# mysqldump -u root -p mysql > /tmp/mysql_backup_20160510.dump
#p后面为导出的数据库名称,/后为导出目录
查询person表
MariaDB [mysql]> select * from person;
删除表
MariaDB [mysql]> drop table person;
2.退出系统,进行还原操作
[root@mail ~]# mysql -u root -p mysql < /tmp/mysql_backup_20160510.dump
#p后面为要还原的数据库名称,/后为原先备份的数据库储存的目录
登陆数据库系统,使用root用户
[root@mail ~]# mysql -u root -p
查看person表
MariaDB [mysql]> select * from person;
可看到导出后数据库,和备份前的数据库的数据一样,不受前面删除的影响