MariaDB 谁是更为正宗的MYSQL

2024-01-24 13:20

本文主要是介绍MariaDB 谁是更为正宗的MYSQL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       

这里写图片描述
随着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/mariaUsing default tag: latestTrying to pull repository docker.io/liumiaocn/maria ...latest: Pulling from docker.io/liumiaocn/maria0a8490d0dfd3: Already exists3a48a96147f6: Pull complete4fe500b60fc8: Pull completeDigest: sha256:359ea5cc2d8dcbd8245ca99a777e687f527c26a1e43c3bb12d05adf31ee7b1c2Status: Downloaded newer image for docker.io/liumiaocn/maria:latest[root@liumiaocn ~]# docker images |grep mariadocker.io/liumiaocn/maria                                latest              48db9d7b6891        8 hours ago         178.2 M[root@liumiaocn ~]#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

缺省启动镜像

正常启动一个mysql的镜像

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

连接镜像

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

版本确认

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

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

确认数据库

/ # mysqlWelcome to the MariaDB monitor.  Commands end with ; or \g.Your MariaDB connection id is 9Server version: 10.1.21-MariaDB MariaDB ServerCopyright (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)]>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 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)]>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

连接数据库

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

MariaDB [(none)]> use testDatabase changedMariaDB [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点赞的地方。

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

这篇关于MariaDB 谁是更为正宗的MYSQL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/639816

相关文章

深入理解Mysql OnlineDDL的算法

《深入理解MysqlOnlineDDL的算法》本文主要介绍了讲解MysqlOnlineDDL的算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小... 目录一、Online DDL 是什么?二、Online DDL 的三种主要算法2.1COPY(复制法)

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

MySQL中VARCHAR和TEXT的区别小结

《MySQL中VARCHAR和TEXT的区别小结》MySQL中VARCHAR和TEXT用于存储字符串,VARCHAR可变长度存储在行内,适合短文本;TEXT存储在溢出页,适合大文本,下面就来具体的了解... 目录一、VARCHAR 和 TEXT 基本介绍1. VARCHAR2. TEXT二、VARCHAR

MySQL中C接口的实现

《MySQL中C接口的实现》本节内容介绍使用C/C++访问数据库,包括对数据库的增删查改操作,主要是学习一些接口的调用,具有一定的参考价值,感兴趣的可以了解一下... 目录准备mysql库使用mysql库编译文件官方API文档对象的创建和关闭链接数据库下达sql指令select语句前言:本节内容介绍使用C/

mybatis直接执行完整sql及踩坑解决

《mybatis直接执行完整sql及踩坑解决》MyBatis可通过select标签执行动态SQL,DQL用ListLinkedHashMap接收结果,DML用int处理,注意防御SQL注入,优先使用#... 目录myBATiFBNZQs直接执行完整sql及踩坑select语句采用count、insert、u

MySQL之搜索引擎使用解读

《MySQL之搜索引擎使用解读》MySQL存储引擎是数据存储和管理的核心组件,不同引擎(如InnoDB、MyISAM)采用不同机制,InnoDB支持事务与行锁,适合高并发场景;MyISAM不支持事务,... 目录mysql的存储引擎是什么MySQL存储引擎的功能MySQL的存储引擎的分类查看存储引擎1.命令

一文详解MySQL索引(六张图彻底搞懂)

《一文详解MySQL索引(六张图彻底搞懂)》MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度,:本文主要介绍MySQL索引的相关资料,文中通过代码介绍的... 目录一、什么是索引?为什么需要索引?二、索引该用哪种数据结构?1. 哈希表2. 跳表3. 二叉排序树4.

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3

MySQL8.0临时表空间的使用及解读

《MySQL8.0临时表空间的使用及解读》MySQL8.0+引入会话级(temp_N.ibt)和全局(ibtmp1)InnoDB临时表空间,用于存储临时数据及事务日志,自动创建与回收,重启释放,管理高... 目录一、核心概念:为什么需要“临时表空间”?二、InnoDB 临时表空间的两种类型1. 会话级临时表