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

相关文章

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

MySQL分表自动化创建的实现方案

《MySQL分表自动化创建的实现方案》在数据库应用场景中,随着数据量的不断增长,单表存储数据可能会面临性能瓶颈,例如查询、插入、更新等操作的效率会逐渐降低,分表是一种有效的优化策略,它将数据分散存储在... 目录一、项目目的二、实现过程(一)mysql 事件调度器结合存储过程方式1. 开启事件调度器2. 创

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

mysql外键创建不成功/失效如何处理

《mysql外键创建不成功/失效如何处理》文章介绍了在MySQL5.5.40版本中,创建带有外键约束的`stu`和`grade`表时遇到的问题,发现`grade`表的`id`字段没有随着`studen... 当前mysql版本:SELECT VERSION();结果为:5.5.40。在复习mysql外键约

SQL注入漏洞扫描之sqlmap详解

《SQL注入漏洞扫描之sqlmap详解》SQLMap是一款自动执行SQL注入的审计工具,支持多种SQL注入技术,包括布尔型盲注、时间型盲注、报错型注入、联合查询注入和堆叠查询注入... 目录what支持类型how---less-1为例1.检测网站是否存在sql注入漏洞的注入点2.列举可用数据库3.列举数据库

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3