一、认识mariadb

      MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。

二、安装mariadb

1、首先你需要你的yum仓库是可以使用的,并且和你所在的系统版本保持一致,不要像小编一样搞了许久,最后才发现原来是这个问题;

如果你有挂载、镜像的问题请参考linux--基础学习8里面有详细介绍

2、假设你现在已经解决了我前面说的问题;执行下面的命令

yum search mariadb  搜索和mariadb相关的所有内容;

mariadb创建自定义函数 返回表信息 mariadb语句_MySQL

我们需要的是server服务端

yum install mariadb mariadb-server -y

mariadb创建自定义函数 返回表信息 mariadb语句_MySQL_02

3、启动mariadb服务,并且设置为开机自起;

systemctl start mariadb

systemctl enable mariadb

设置完成我们来看看他的状态;

mariadb创建自定义函数 返回表信息 mariadb语句_MySQL_03

这让我想起了我的linux老师说过的话,在linux中绿色就是好的,生活中别绿就行。当然这是一句玩笑,也给我们学习mysql有了一个良好的开始;

4、设置mysql的登陆密码

mysql_secure_installation

mariadb创建自定义函数 返回表信息 mariadb语句_mysql_04

在你读过一系列的英文课文和选择后,那么恭喜你已经成功做好了学习mysql的准备。

5、登陆mysql

mysql -uroot -p   #-u选择用户  -p 输入密码

mariadb创建自定义函数 返回表信息 mariadb语句_MySQL_05

三、mysql的基本语句


注意:在mysql中所有的语句都以“;”结束

1、show databases;    显示数据库,类似于目录,里面包含多个表

mariadb创建自定义函数 返回表信息 mariadb语句_数据库_06

2、use yutao;   进入名字为yutao的数据库

mariadb创建自定义函数 返回表信息 mariadb语句_MySQL_07

3、show tables;  显示该数据库中的表

mariadb创建自定义函数 返回表信息 mariadb语句_MySQL_08

如果你时第一次创建数据库,那么你的数据库中没有任何东西,下面就介绍如何创建数据库,以及库中的表

4、创建一个数据库

create database westos(这里是数据库的名字)

mariadb创建自定义函数 返回表信息 mariadb语句_数据库_09

5、创建数据库中的一张表

mariadb创建自定义函数 返回表信息 mariadb语句_MySQL_10

其中:westos(表的名字);username and passwd 为表头名称;varchar为所占字节

mariadb创建自定义函数 返回表信息 mariadb语句_MySQL_11

6、查看表的结构信息

desc westos 

mariadb创建自定义函数 返回表信息 mariadb语句_MySQL_12

7、向表中插入信息

insert into westos values('root','123');   系统自动将root和username匹配;123和rasswd匹配;按顺序匹配

mariadb创建自定义函数 返回表信息 mariadb语句_MySQL_13

也可以按照你需要的顺序插入信息:

insert into westos(passwd,username) values('456','admain');

mariadb创建自定义函数 返回表信息 mariadb语句_MySQL_14

8、查看表内的信息

select * from westos;

mariadb创建自定义函数 返回表信息 mariadb语句_mysql_15

select Host,User,Password from user;  显示某张表中的某几列信息

9、更新表中的内容

update westos set passwd='666' where username='root';  更新表中的root的密码为666

mariadb创建自定义函数 返回表信息 mariadb语句_数据库_16

mariadb创建自定义函数 返回表信息 mariadb语句_数据库_17

10、给某张表中添加表头

alter table westos add level varchar(5);   给westos添加了名字为level的项

mariadb创建自定义函数 返回表信息 mariadb语句_数据库_18

mariadb创建自定义函数 返回表信息 mariadb语句_数据库_19

11、删除westos表中的root用户信息

delete from westos where username='root';

mariadb创建自定义函数 返回表信息 mariadb语句_mysql_20

12、删除表

drop table westos;

13、删除数据库

drop database westos;

14、utf8--编码问题

因为在默认的数据库中默认不支持中文输入,所以我们需要进行修改配置文件的信息;

我们先登陆数据库来查看编码格式

show variables like 'character_set_%';

mariadb创建自定义函数 返回表信息 mariadb语句_数据库_21

永久改变编码格式:

1)配置mysql的配置文件,配置文件在/etc/my.cnf.d/目录,设置编码格式:

2)修改第一个文件:vim  /etc/my.cnf.d/client.cnf

注意:这里在输入前的空格为4格,否则修改编码不会成功

mariadb创建自定义函数 返回表信息 mariadb语句_MySQL_22

3)修改第二个文件:vim  /etc/my.cnf.d/server.cnf

mariadb创建自定义函数 返回表信息 mariadb语句_MySQL_23

4)上面设置完成,看似很完美,但是重启mariadb服务后,character_set_database并没有进行修

改,因此,为了一步到位,直接设置character_set_database编码格式为utf8,如下:set character_set_database = 'utf8';

mariadb创建自定义函数 返回表信息 mariadb语句_mysql_24

ok,终于搞定!

四、用户访问权限操作

server服务器端

1、create user hello@'%' identified by 'hello';   创建用户hello,可在远程登陆,密码为hello

mariadb创建自定义函数 返回表信息 mariadb语句_MySQL_25

但是我们远程访问本机数据库却什么都看不到,别着急往下看;

2、grant all on yutao.* to hello@'%';     给hello用户授权,如果为all,授权所有权限,可以在yutao数据库上进行任何操作

mariadb创建自定义函数 返回表信息 mariadb语句_数据库_26

3、每次授权后都要更新授权表   flush privileges;

mariadb创建自定义函数 返回表信息 mariadb语句_数据库_27

4、show grants for hello@‘%’;    查看授权用户

mariadb创建自定义函数 返回表信息 mariadb语句_数据库_28

我这里是给所有来访问的主机都给了‘yutao’这个数据库的全部权限,并且他们都是以hello这个用户登录的;

5、revoke delete,update on mariadb.* from hello@‘%’;    删除指定用户的授权

mariadb创建自定义函数 返回表信息 mariadb语句_数据库_29

删除了所有用户对yutao数据库的访问权限;

更新授权表,查看结果;

mariadb创建自定义函数 返回表信息 mariadb语句_MySQL_30