MariaDB教程:MariaDB⼊门
“ MySQL做得更好”是描述MariaDB的⼀种⽅法。 它是由MySQL的⼀个⾃⼰的创造者发起的流⾏的开源数据库项⽬的分⽀,但是拥有⼀个不同的开发团队,默认情况下包括许多强⼤的功能,⽽不是仅作为附件提供,并且具有许多性能,可⽤性和安全性改进不能保证出现在MySQL中。
MariaDB通常被称为MySQL的“直接替代品”,特别是因为MariaDB项⽬与原始项⽬保持紧密同步。 也就是说,这就像是说马⾃达是斯巴鲁的直接替代品。 它们既是汽车,⼜是以相同的⽅式驱动的,但是它们提供的功能和实现的⽅式差异很⼤,值得引起注意。
[ 。 ·教程: 。 ·教程: 。 · 。 | 通过InfoWorld的编程中最热门的话题。 ]
在本⽂中,我们将逐步介绍启动标准MariaDB服务器安装所需的步骤。 在此过程中,我们将特别注意从以前的MariaDB安装升级或将MySQL数据库实例迁移到MariaDB时需要记住的事项。
请注意,本⽂中的讨论重点是MariaDB的社区开源版本,⽽不是 。 这些功能包括OLTP之类的功能,集以及针对Apache Kafka和Apache Spark之类的服务的数据适配器。
哪⾥可以下载MariaDB 10.3
MariaDB基⾦会维护着⾃⼰的MariaDB⼆进制⽂件 。 所有受⽀持的操作系统都在同⼀页⾯上,每个操作系统都提供各种选项。 如果愿意,您可以获取源代码并源代码 ,但是在⼤多数情况下,您不需要这样做。
如何安装MariaDB 10.3
设置MariaDB的过程将取决于⽬标操作系统。
Microsoft Windows⽤户可以下载.MSI程序包或.ZIP⽂件。 .MSI⽤于在系统上正式安装; .ZIP归档⽂件可以解压缩到任何⽬录中并直接从那⾥运⾏。 但是,.ZIP存档版本要求您⼿动执⾏任何配置。 .MSI软件包通过GUI安装和配置MariaDB。
Linux⽤户可以选择gzip压缩的.TAR⽂件,⽤于基于Ubuntu / Debian的发⾏版的.DEB软件包或⽤于基于Red Hat / Fedora的发⾏版的.RPM软件包。 请注意,如果您安装MariaDB提供的.DEB。/ RPM⽂件,则需要⾸先为Linux安装 。 也可以从Linux发⾏版的默认存储库中安装MariaDB,但您可能⽆法在此处获取最新版本的MariaDB。
MacOS⽤户可以使⽤来获取MariaDB,该包含预编译的⼆进制⽂件。 请注意,某些组件(CONNECT和OQGRAPH数据库引擎)未包含在预构建的⼆进制软件包中,因此需要使⽤--build-from-source命令⾏开关从源代码进⾏编译。
MariaDB还 Linux的 。 奇怪的是,您仍然需要通过配置⽂件来配置MariaDB的选项,并到⼀个位置来存储其数据,⽽不是容器使⽤的主机上的默认路径。 例如,如果要在/my/own/datadir主机上启动MariaDB容器,则可以使⽤以下启动命令:
$ docker run --name some-mariadb -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mariadb:tag
上⾯的⽰例来⾃ ,其中包含有关如何完成此操作的更多详细信息。
如何从以前的版本升级到MariaDB
如果要从早期版本的MariaDB升级,则有两种常规升级策略。
就地升级。 这涉及⽤较新的版本替换现有的MariaDB⼆进制⽂件。
导出并重新导⼊。 这涉及从旧版本中转储数据库的内容,并将它们导⼊新版本中。
⽆论哪种情况,都应确保要升级的数据库不存在挥之不去的兼容性问题。 检查⽂档以查看是否存在特定于您要迁移的版本的问题。
由于MariaDB在不同平台之间的体系结构存在⼀些细微差异,因此升级过程将根据执⾏位置的不同⽽有所不同。
微软Windows
在Windows上,最好的策略是与旧版本并⾏安装新版本的MariaDB,然后根据需要停⽤旧版本。
MariaDB⽀持具有任意数量的并⾏版本,只要它们具有不同的主/次版本号即可。 例如,可以并排运⾏10.0和10.2版本,但不能同时运⾏10.2.6和10.2.7版本。 在后⼀种情况下,安装10.2.7将⾃动覆盖并更新10.2.6安装。 此规则的⼀个例外是,当⼀个实例是32位版本⽽另⼀个实例是64位版本时,即使它们共享相同的次要版本号,它们也可以共存,因为32位和64位版本是技术上不同的产品。
如果您使⽤.MSI软件包在Windows上进⾏安装,则安装程序将尝试检测MySQL或MariaDB的现有实例,并为您提供升级它们的机会。 任何现有数据都保留在其原始位置。
如果你想在安装新版本之后⼿动进⾏升级,使⽤命令⾏⼯具的新版本与旧版本升级数据。 是的,这是mysql_upgrade ,因为它从MySQL实例以及MariaDB执⾏升级,并且因为命令名称的选择有助于保持与为MySQL编写的脚本的兼容性。
的Linux
在Linux系统上,升级过程要求您先卸载旧版本的MariaDB,然后再安装新版本。 在执⾏此操作之前,如果要从MySQL升级,请使
⽤mysqldump⼯具对现有数据库进⾏完整备份,如果要从早期版本的MariaDB进⾏迁移,请使⽤ 。
有关在同⼀系统上并排运⾏多个MariaDB实例的更多详细信息,请参阅 。
如何配置MariaDB
MariaDB的⼤量配置选项可能会让⼈不知所措,但幸运的是,在安装或升级过程的初始阶段不需要许多配置选项。
在许多情况下,MariaDB安装程序会⾃动将MariaDB设置为在引导时启动,并在安装程序脚本完成后⽴即启动。 如果需要⼿动完成此操作,可以使⽤以下命令来完成:
systemctl start mariadb.service
systemctl enable mariadb.service
默认情况下,MariaDB在安装后会做的另⼀件事是,⾃动创建⼀个具有受限特权的系统帐户mysql ,以便运⾏MariaDB进程。这为您省去了必须⾃⾏设置的⿇烦。
如果您从存档中解压缩了MariaDB的⽂件,⽽不是正式安装了它,则可能需要运⾏mysql_install_db脚本来
编辑MariaDB配置⽂件
Microsoft Windows图形安装程序以及Linux的安装脚本为MariaDB配置了最重要的选项。 使⽤Windows GUI,您可以更改最常见的选项(例如,运⾏MariaDB的端⼝),但是会为所有内容⾃动提供合理的默认值。
这些选择记录在MariaDB使⽤的 。 该⽂件的存储位置取决于您正在运⾏的系统。 有关详细信息,请参见上⼀个链接。
您可能不需要编辑此⽂件即可启动和运⾏MariaDB,因为MariaDB会再次为最常见的设置选择合理的默认值。 很容易被此处可以解决的吓倒,但是对于⼤多数安装⽽⾔,您可能不需要开箱即⽤地进⾏任何更改。
MariaDB配置⽂件的结构使得MySQL和MariaDB实例都可以互换使⽤它们。 也可能有配置⽂件的某些部分仅由任⼀产品的特定版本使⽤。 不过,最好的长期策略是为MariaDB和MySQL的每个单独实例都拥有⼀个单独的配置⽂件,并将这些⽂件放在每台服务器将彼此独⽴地发现它们的位置。 (请参阅的以了解将配置⽂件放置在何处,以便被产品的特定版本发现。)
运⾏安全安装
除⾮您严格在开发上下⽂中运⾏MariaDB以便在⼀台机器上使⽤,否则最好将其锁定。 MariaDB包含⼀个Perl脚本 ,它通过更改⼏个默认值来保护服务器的安全:
强制为MariaDB使⽤默认的内部root密码。 这是最关键的,因为MariaDB的默认root密码为空。 (管理员决定该密码是什么;选择⼀个强密码。)
删除匿名⽤户访问。
禁⽌远程root登录。 在某些情况下,您想允许远程⽤户以root⽤户访问,但是通常最好禁⽤此权限。 (允许某种远程根登录的最安全⽅法是要求⼈们远程进⼊服务器本⾝,然后本地连接到MariaDB。)
删除测试数据库。 测试数据库作为⽰例或演⽰包含在MariaDB安装中,但没有理由将其包含在⽣产系统中。
注意, mysql_secure_installation需要Perl才能运⾏。 如果您所在的系统未安装Perl运⾏时,则需要先添加它,然后才能使⽤此脚本。MariaDB的主要配置选项
MariaDB 10的绝⼤多数选项都不需要设置。 ⽆论是使⽤GUI安装向导还是⼿动编辑配置⽂件,都应尽早确定⼀些与上述客户端安全协议类似的协议。 这是其他⼏个:
MariaDB连接协议
MariaDB可以通过多种⽅式 :
TCP / IP 。 这是连接到MySQL实例的最⼴泛使⽤和理解的⽅式,因为它允许本地和远程连接。 它也是整体上最慢的,因为流量必须通过整个TCP / IP堆栈。 但是,这通常仅在您需要极⾼性能的情况下才需要考虑。 对于需要远程客户端连接的任何情况,TCP / IP都是⼀个简单的答案。 最后,您需要密切注意连接的安全性。 使⽤上述更⾼级的密码安全性,也许限制与VPN的连接,依此类推。
Unix套接字/命名管道 。 这分别是Unix / Linux和Windows中的两个⼤致等效的功能。 当客户端/应⽤程序和服务器位于同⼀系统上时,套接字和管道最有效,因为可以更快地在客户端和服务器之间传输数据。 也可以通过⽹络发布这样的连接,但是这样做很⿇烦。
在这种情况下,最好只使⽤TCP / IP。
共享内存。 这是服务器和客户端之间最快的连接选项,但灵活性也最差。 它仅在服务器和客户端位于同⼀物理系统上时才有效,并且服务器可能很难检测到客户端是否已超时或终⽌,从⽽导致未终⽌的连接积累和浪费资源。
请注意,在Unix系统上,为了提⾼性能,从localhost所有连接都默认使⽤Unix套接字。
MariaDB⽇志记录选项
除了错误⽇志(默认情况下始终启⽤)之外,MariaDB还可以维护其他三种⽇志。 默认情况下,所有其他选项均已禁⽤,但可以在配置过程中根据需要启⽤以进⾏调试。
常规查询⽇志。 这提供了从启动到关闭的MySQL活动的详细运⾏摘要。
查询⽇志速度慢。 可以记录所有执⾏时间超过x秒(可配置)的查询以进⾏调试。
⼆进制⽇志。 该⽇志简称为“ binlog”,可以配置为包含对数据库⽂件的所有修改的⼆进制转储。 出于明显的原因,这会对性能产⽣重⼤影响,因此除⾮尝试调试真正棘⼿的问题,否则不应启⽤它。
诸如MyISAM之类的单个存储引擎也可以保留⾃⼰的⽇志,但是这些不是MariaDB本⾝的⼀部分。
默认情况下,⽇志不会⾃动清除,因此必须通过运⾏mysql-log-rotate脚本定期清除。 Binlog是⼀个例外,默认情况下,它会在30天后过期。 请注意,轮换脚本可能⽆法在Linux以外的任何其他设备上使⽤。 在Windows上,您需要⼿动或使⽤⾃⼰制作的脚本轮换⽇志。MariaDB存储引擎和排序规则选项
mysql下载的zip版本安装步骤MariaDB可以与许多 ,每种针对不同的⼯作负载进⾏了优化。 例如, 引擎经过优化,可在闪存上使⽤,⽽引擎可⽤于挂载纯⽂本或CSV 数据,就像它是本机MariaDB数据库⼀样。
总的来说,您将要使⽤InnoDB引擎。 InnoDB是MariaDB中新创建的表的默认选择。 知道原因很有⽤。
From:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。