关键词搜索

源码搜索 ×
×

MariaDB: 谁是更为正宗的MYSQL

发布2017-02-23浏览29844次

详情内容

这里写图片描述
随着Oracle买下Sun,MySQL也落入了关系型数据库王者之手。而早在2009年,考虑到Oracle的名声以及其入手之后闭源的可能性,MySQL之父的Michael便先行一步,以他女儿Maria的名字开始了MySQL的另外一个衍生版本:MariaDB。 Michael 的名声很好,很快追随者很快排满了八条街,主流的Linux发行商基本上都开始转而支持使用MariaDB以规避MySQL不确定性的风险以及对Michael的看好。而MariaDB则被看作MySQL的替代品,原因很简单作为MySQL之父的Michael可以引导过去开源成功的MySQL,自然在其主导下的MariaDB也自然很值得期待。左手把MySQL卖掉挣得大笔银子,右手再创分支,开启新的衣钵,这便是技术强者的快意人生,一壶浊酒喜相逢,多少IT事,都付笑谈中。

MariaDB的前世今生

年份事件
2009年Michael Widenius创建新项目Michael以规避关系型数据库开源的可能风险.直到5.5的版本,一直按照MySQL的版本进行发行。使用者基本上不会感受到和MySQL不同的地方。
2012年MariaDB开始按照自己的节奏和版本发行方式进行发行,初始版本为:10.0.0,此版本以MySQL5.5为基础,同时合并了MySQL5.6的相关功能。

当前版本

项目内容
目前稳定版本10.1

docker pull

使用Easypack下的alpine的MariaDB,当然你也可以直接使用官方镜像,没有太大区别,只是在Easypack的项目中,整理了一些常用的有Reputation的镜像,为了更好的进行集成和整合,进行了一个收集/整理/自定义的过程。

[root@liumiaocn ~]# docker pull liumiaocn/maria
Using default tag: latest
Trying to pull repository docker.io/liumiaocn/maria ...
latest: Pulling from docker.io/liumiaocn/maria
0a8490d0dfd3: Already exists
3a48a96147f6: Pull complete
4fe500b60fc8: Pull complete
Digest: sha256:359ea5cc2d8dcbd8245ca99a777e687f527c26a1e43c3bb12d05adf31ee7b1c2
Status: Downloaded newer image for docker.io/liumiaocn/maria:latest
[root@liumiaocn ~]# docker images |grep maria
docker.io/liumiaocn/maria                                latest              48db9d7b6891        8 hours ago         178.2 M
[root@liumiaocn ~]#

    缺省启动镜像

    正常启动一个mysql的镜像

    [root@liumiaocn ~]# docker run --name maria -d liumiaocn/maria
    22d21c9fc299ef0107a67e5cd790a335a2399fe9611c38490eebf0eacec3310d
    [root@liumiaocn ~]#
    • 1
    • 2
    • 3

    连接镜像

    [root@liumiaocn ~]# docker exec -it maria /bin/sh
    / # hostname
    22d21c9fc299
    / # which mysql
    /usr/bin/mysql
    / #
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    版本确认

    / # mysql --version
    mysql  Ver 15.1 Distrib 10.1.21-MariaDB, for Linux (x86_64) using readline 5.1
    / #
    • 1
    • 2
    • 3

    看到Maria了,站在八条街外看人头涌动,心潮澎湃,想看MYSQL的看官也不要走,因为在接下来的命令中你会发现,基本上完全一样。

    确认数据库

    / # mysql
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 9
    Server version: 10.1.21-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    +--------------------+
    3 rows in set (0.00 sec)
    
    MariaDB [(none)]>
      13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    创建数据库

    使用create database test创建名为test的数据库

    MariaDB [(none)]> create database test;
    Query OK, 1 row affected (0.01 sec)
    
    MariaDB [(none)]>
    MariaDB [(none)]> show databases
        -> ;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
    
    MariaDB [(none)]>
      13
    • 14
    • 15
    • 16
    • 17

    连接数据库

    使用use 数据库名 命令去连接所指定的数据库,比如use test,将会连接刚刚创建的test数据库,在连接之后的操作比如创建表,在没有指明数据库名的情况下均对于当前所连接的数据库起作用。

    MariaDB [(none)]> use test
    Database changed
    MariaDB [test]>
    • 1
    • 2
    • 3

    基本操作

    版本确认

    虽然mysql –version也可以确认版本,就像Oracle一样,在连接实例之后才能进行的确认方式,不过没有Oracle那样复杂庞大的系统视图而已。

    MariaDB [test]> select version();
    +-----------------+
    | version()       |
    +-----------------+
    | 10.1.21-MariaDB |
    +-----------------+
    1 row in set (0.00 sec)
    
    MariaDB [test]>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    字符串处理

    MariaDB [test]> select "hello world"
        -> ;
    +-------------+
    | hello world |
    +-------------+
    | hello world |
    +-------------+
    1 row in set (0.00 sec)
    
    MariaDB [test]>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    简单计算

    类似Oracle里面的select from dual, mysql里面可以直接select

    MariaDB [test]> select 3*7;
    +-----+
    | 3*7 |
    +-----+
    |  21 |
    +-----+
    1 row in set (0.00 sec)
    
    MariaDB [test]>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    总结

    谁是更为正宗的MySQL,就像Jenkins和Hudson那样谁是更为正宗的Hudson那样,但是换完名称的Jenkins气场和影响力变得更为强大已经是无可辩驳的事实,所以,名称的改变不会带给人太多的冲击,最终还是要看气质。从海豚变成海豹是否就意味着更加强大,这也倒也未必,但是开源给我们带来的更多的一种可能性,确实是要为MariaDB点赞的地方。

    相关技术文章

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载