海外云服务器安装 MariaDB10.6.X (Ubuntu 18.04 记录篇二)

本文首发于 秋码记录

MariaDB 的由来(历史)

谈起新秀MariaDB,或许很多人都会感到陌生吧,但若聊起享誉开源界业界知名的关系型数据库——Mysql,想必混迹于互联网的人们(coder无不知晓

其实mariaDB是由Mysql分支出来的一个项目,而且同属于同一个作者(Michael Widenius)。或许你会纳闷,既然Mysql如此优秀,作者而又为什么再次创造出一个新的数据库呢?

谈起mariadb的诞生,那就不得不说Mysql命运多舛际遇咯!起初,Mysql以开源的形式瞬间火爆互联网圈,这其中就包括创造出 Java 的公司—— sun,彼时的他们亟需一套小巧且功能强大的数据库,来摆脱其他商业化数据库。故而,sun 公司看准了时机,斥巨资收购了彼时还处在蓬勃发展Mysql

时间一晃,来到了2009年,号称全球数据库巨头 Oracle以当时看来是天价的价格收购了sun 公司,作为sun 公司附庸品,当然也卖身新雇主Mysql再次改投公司,并非它所愿,实是无奈之举

倘若sun 公司没被Oracle收购,或许不会出现mariaDB,毕竟sun 公司创造出了java这一从它诞生以来稳居年度 program language(编程语言)排行榜前三,毫不夸张的说,它影响了一代的互联网的进程

事与愿违sun 公司终将被oracle 公司收购了。自打oracle公司并购了sun 公司,全球数以千万计Java Engineer,便开始为Java是否还会开源起了忧虑之心

果不其然,oracle 公司还是向java开刀了,他们修改了java的一些开源策略,如:商业授权……

也正源于此,作为Mysql的作者,不得不为mysql的未来而担忧。然而,现在的mysql已经属于Oracle 公司,看似开源出来,但Oracle 公司随时都有可能将它闭源化。可他唯一能做的就是从开源mysql开出一个分支,构建出一个新的数据库,而它将改进Mysql所出现的问题,虽然mariadb是由mysql作者主导的,但主要还是靠开源社区来贡献代码。

安装前准备

我们知道大多数开源软件,多多少少会使用第三方(开源工具类库)软件包。虽然,你的项目大可不必依赖第三方类库,完全由自己着手编码来实现,那也是没问题,但在编写完这些工具库时,你的项目引入之前,你总得为你所编写的类库unit test吧!

工具类库代码量不是非常庞大的话,由你自己编写,亲自做unit test,这都没什么,毕竟自己从零开始实现一个与第三方相似的工具类库,给自己带来的不单单是一种炫技感,更多的是成就感喜悦感

可倘若工具类库代码行数达到上万,甚至十来万行呢?此时的你,再想从头写起与第三方类库类似的功能,怕是力不从了吧!且不说编写那十来万行的代码所消耗的时间,而是在接下来的事,是需要对它做unit test,将会让你开始怀疑人生

一个开源项目/产品能赢得越来越多用户的追捧,其中最为重要的一点莫过于产品的迭代更新速度是否快于竞争对手/友商。

为了能使产品迭代更新上快于他人,产品的研发团队往往会将项目中公共模块抽取出来,形成一个工具类库,或是使用了第三方开源类库,从而降低了花在这上面的时间以及精力4,以便能够全身心的着眼于产品本身。

安装所需的软件包

至于安装mariaDB前,为何要安装software-properties-common这个软件包呢?其实你也是可以不安装这个依赖库,而是直接安装MariaDB,那也是没问题的!只是在安装MariaDB过程中,会出现Error,最终导致无法正常的安装MariaDB,而出现错误的原因却是当前Linux发行版还未安装某个软件包

为了使MariaDB能够继续的安装下去,你便按照error提示,安装MariaDB所需的第三方类库

既然是这样的话,我们何不将MariaDB所需的软件包提前安装呢!

apt install  software-properties-common -y

在这里插入图片描述

添加 MariaDB 镜像仓库

无论你当前系统属于哪个Linux 发行版,使用在线安装软件时,总是会在当前系统的镜像库搜寻,以此来下载软件。

当然咯,系统里的镜像仓库的软件版本或许有些旧,毕竟某些软件更新迭代快,以至于Linux 发行版来不及去更新镜像仓库内的软件版本。

故而,我们可以将需要下载哪个版本的MariaDB添加到系统镜像仓库里面。

至于那个MariaDB key 是官方所要求的,你将它下载下来就对咯!

apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://mirrors.ustc.edu.cn/mariadb/repo/10.6/ubuntu bionic main'

在这里插入图片描述

安装 mariadb-server 和 mariadb-client

热身的差不多了,是该真正露出本领的时刻了,此处应有振聋发聩的掌声,不绝于耳的那种掌声。

使用以下命令来安装MariaDBserverclient

apt install mariadb-server mariadb-client

在这里插入图片描述

设置 Mariadb 的安全信息

在安装完MariaDB后,我们需要对它做些必要性的安全措施,比如:root密码、是否使用unix socket登陆、是否开启远程登陆……

mariadb-secure-installation

mariaDBroot密码默认是,所以在出现这句Enter current password for root (enter for none):提示时,你就直接按键盘上的Enter,也就是回车键

随后的Switch to unix socket authentication [Y/n],便是询问你是否开启unix socket 认证

紧接着一句Change the root password? [Y/n],问你是否改变root密码,毫无疑问,root密码是需要修改的!

接下来的便是Remove anonymous users?[Y/n] 这么一句,它问你是否移除匿名用户。

之后的一句Disallow root login remotely? [Y/n]n,则是是否禁止 root 远程登陆

再者便是Remove test database and access to it? [Y/n],征求你是否需要移除test 数据库和数据的许可。

尾随其后的Reload privilege tables now? [Y/n] Y,还是寻求你是否现在来重新加载 privilege表,以此来更新你上述所做的修改。

root0XXX:~# mariadb-secure-installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.
Enter current password for root (enter for none): #直接按 Enter 键
OK, successfully used password, moving on...
Setting the root password or using the unix socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
You already have your root account protected, so you can safely answer 'n'.
Switch to unix socket authentication [Y/n] Y
Enabled successfully!
Reloading privilege tables..
... Success!
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
...Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users?[Y/n] Y
...Success!
Normally, root should only be allowed to connect from 'localhost', This
nsures that
someone cannot guess
the root
password from the
network.
Disallow root login remotely? [Y/n]n
... skipping.
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] n
... skipping.
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
root@XXX:~#

查看 Mariadb 服务状态

我们可以使用以下命令来查看当前MariaDB服务的状态,虽然目前我们知道MariaDB正处于running中。

systemctl status mariadb

我们从下面的输出信息,也是可以看出当前的MariaDB服务正处于running中。

root@XXX:~# systemctl status mariadb
* mariadb.service - MariaDB 10.6.15 database server
   Loaded: loaded (/1ib/systemd/system/mariadb.service; enabled; vendor preset:enabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           |_migrated-from-my.cnf-settings.conf
   Active: active (running) since Sat 2024-08-31 15:03:05 +08; 22min ago
     Docs: man:mar1adbd(8)
		  https://mariadb.com/kb/en/library/systemd/
Main PID: 701 (mariadbd)
   Status: "Taking your SQL requests now..."
     Tasks: 8 (limit:4915)
   CGroup: /system.slice/mariadb.service
           |_701 /usr/sbin/mariadbd
Aug 31 15:03:05 vps74437279.hosteons.com mariadbd[701):2024-08-31 15:03:05 0 [Note]
 InnoDB: File'./ibtmpl' size is now 12 MB.
Aug 31 15:03:05 vps74437279.hosteons.com mariadbd[701]: 2024-08-31 15:03:05 0 [Note]
InnoDB: 10.6.15 started; log sequence number 42114; transaction id 14
Aug 31 15:03:05 vps74437279.hosteons.com mariadbd[701]: 2024-08-31 15:03:05 0[Note] Plugin'FEEDBACK' is disabled.
Aug 31 15:03:05 vps74437279.hosteons.com mariadbd[701]: 2024-08-31 15:03:05 0[Note)
InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib buffer pool
Aug 31 15:03:05 vps74437279.hosteons.com mariadbd[701): 2024-08-31 15:03:05 0 [Note] InnoDB: Buffer pool(s) load completed at 240831 15:03:05
Aug 31 15:03:05 vps74437279.hosteons.com mariadbd[701]:2024-08-31 15:03:05 0[Warning] You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-sec
Aug 31 15:03:05 vps74437279.hosteons.com mariadbd[701]:2024-08-31 15:03:05 0[Note] Server socket created on IP:'127.0.0.1'.
Aug 31 15:03:05 vps74437279.hosteons.com mariadbd[701):2024-08-31 15:03:05 0 [Note] /usr/sbin/mariadbd: ready for connections.
Aug 31 15:03:05 vps74437279.hosteons.com mariadbd[701]:Version: '10.6.15-MariaDB-1:10.6.15+maria~ubu1804'socket: '/run/mysqld/mysqld.sock'port: 3306mariadb.org b
Aug 31 15:03:05 vps74437279.hosteons.com systemd[1]: Started MariaDB 10.6.15 database server.
lines 1-23/23 (END)

设置开机自启动

systemctl enable mariadb

查看 mariadb 版本

当你在Terminal输入mysql -u root -p的时候,你的脑袋是不是有那么一瞬间的迷糊,不禁纳闷,“我明明安装的是MariaDB,怎么会去使用mysql的命令呢?”

对于你的疑惑,作为MariaDB非官方人员的我,给出了这样的解释:

  • 1、上面有讲到MariaDB是由mysql分支而来的,难免有些命令还在使用mysql
  • 2、或许他们懒得将mysql命令修改成mariaDB了,毕竟MariaDB这都更新迭代了多少个版本,要改的话早就改了。(或许是旧版本还没改,新版本可能改了,也未可知。)
mysql -u root -p

在这里插入图片描述

添加用户及授权

grant all privileges on *.* to 'root'@'%' identified by 'YourPasswd';
flush privileges;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/873269.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MonoHuman: Animatable Human Neural Field from Monocular Video 精读

一、共享双向变形模块 1. 模块的核心思想 共享双向变形模块的核心目标是解决从单目视频中生成不同姿态下的3D人体形状问题。因为视频中的人物可能处于各种动态姿态下,模型需要能够将这些不同姿态的几何形状进行变形处理,以适应标准的姿态表示并生成新的…

SVN下载安装使用方法

目录 🌕SVN是什么?🌙SVN跟Git比的优势🌙SVN的用处 🌕下载安装使用方法 🌕🌙⭐ 🌕SVN是什么? 代码版本管理工具 它能记住你每次的修改 查看所有的修改记录 恢复到任何历…

【Linux网络】详解TCP协议(1)

🎉博主首页: 有趣的中国人 🎉专栏首页: Linux网络 🎉其它专栏: C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好,本片文章将会讲解 TCP协议 的相关内容。 如果看到最后您觉得这篇文章写得不错&am…

【大数据】深入浅出Hadoop,干货满满

【大数据】深入浅出Hadoop 文章脉络 Hadoop HDFS MapReduce YARN Hadoop集群硬件架构 假设现在有一个PB级别的数据库表要处理。 在单机情况下,只能升级你的内存、磁盘、CPU,那么这台机器就会变成 “超算”,成本太高,商业公司肯…

通过卷积神经网络(CNN)识别和预测手写数字

一:卷积神经网络(CNN)和手写数字识别MNIST数据集的介绍 卷积神经网络(Convolutional Neural Networks,简称CNN)是一种深度学习模型,它在图像和视频识别、分类和分割任务中表现出色。CNN通过模仿…

8. GIS数据分析师岗位职责、技术要求和常见面试题

本系列文章目录: 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…

【高等代数笔记】线性空间(一到四)

3. 线性空间 令 K n : { ( a 1 , a 2 , . . . , a n ) ∣ a i ∈ K , i 1 , 2 , . . . , n } \textbf{K}^{n}:\{(a_{1},a_{2},...,a_{n})|a_{i}\in\textbf{K},i1,2,...,n\} Kn:{(a1​,a2​,...,an​)∣ai​∈K,i1,2,...,n},称为 n n n维向量 规定(规定…

【技术前沿】智能反向寻车解决方案:提升停车场用户体验与运营效率

亲爱的技术员及停车场管理者们,您是否曾遇到过车主在庞大的停车场中迷失方向,耗费大量时间寻找爱车的困境?这不仅影响了车主的停车体验,也无形中增加了停车场的管理难度和运营成本。本文专为解决这一痛点而生,介绍最新…

基于人工智能的手写数字识别系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 手写数字识别是一种经典的计算机视觉任务,目标是让机器能够识别手写数字。通过人工智能技术,特别是卷积神经网…

京东物流查询|开发者调用API接口实现

快递聚合查询的优势 1、高效整合多种快递信息。2、实时动态更新。3、自动化管理流程。 聚合国内外1500家快递公司的物流信息查询服务,使用API接口查询京东物流的便捷步骤,首先选择专业的数据平台的快递API接口:物流快递查询API接口-单号查询…

【论文分享】MyTEE: Own the Trusted Execution Environment on Embedded Devices 23‘NDSS

目录 AbstractINTRODUCTIONBACKGROUNDARMv8 ArchitectureSecurity statesTrustZone extensionsVirtualization Communication with Peripherals MOTIVATIONATTACK MODEL AND ASSUMPTIONSYSTEM DESIGNOverviewExecution Environments IsolationDMA FilterExternal DMA controlle…

flutter的入口和原生交互

从今天起,笔者要开始从flutter列表页面向原生页面跳转了 首先遇到了N个No such module "Flutter" 因为笔者的公司其实是从前往后改造Flutter的,所以也不需要引擎组,但是笔者搞不懂,只能照着葫芦画瓢,以后等…

【重学 MySQL】十六、算术运算符的使用

【重学 MySQL】十六、算术运算符的使用 加法 ()减法 (-)乘法 (*)除法 (/ 或 div )取模(求余数) (% 或 mod )注意事项 在 MySQL 中,算术运算符用于执行数学运算,如加法、减法、乘法、除法和取模(求余数)等。…

2024数学建模国赛选题建议+团队助攻资料(已更新完毕)

目录 一、题目特点和选题建议 二、模型选择 1、评价模型 2、预测模型 3、分类模型 4、优化模型 5、统计分析模型 三、white学长团队助攻资料 1、助攻代码 2、成品论文PDF版 3、成品论文word版 9月5日晚18:00就要公布题目了,根据历年竞赛题目…

自动化运维之WGCLOUD入门到掌握 - ubuntu服务器进行入侵检测分析

WGCLOUD监测平台,有个日志监控模块,我们本文就用它来进行ubuntu的入侵检测分析 准备:ubuntu 20,WGCLOUD v3.5.4 ubuntu的登录日志文件,用于分析用户登录行为:/var/log/auth.log,我们今天就用u…

AWS SES服务 Golang接入教程(排坑版)

因为刚来看的时候 也迷迷糊糊的 所以 先讲概念 再上代码 一 基础设置 这里需要完成两个最基础的设置任务 1 是验证至少一个收件电子邮箱 2 【很关键】是验证发送域。即身份里的域类型的身份。(可以理解为配置你的域名邮箱服务器(SMPT)为亚马…

微软出品的一款管理多个远程桌面连接的工具

RDCMan(Remote Desktop Connection Manager)是微软官方出品的一款用于管理多个远程桌面连接的工具。它可以帮助用户集中管理和分类远程桌面,特别适用于需要同时管理大量服务器或在不同计算机间切换操作的场景。 RDCMan的主要功能包括&#x…

[深度学习][LLM]:浮点数怎么表示,什么是混合精度训练?

混合精度训练 混合精度训练1. 浮点表示法:[IEEE](https://zh.wikipedia.org/wiki/电气电子工程师协会)二进制浮点数算术标准(IEEE 754)1.1 浮点数剖析1.2 举例说明例子 1:例子 2: 1.3 浮点数比较1.4 浮点数的舍入 2. 混合精度训练2.1 为什么需…

继收购西门子物流自动化后,丰田又投资一家AGV公司,智能物流版图已极其夸张...

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 继成功将西门子物流自动化(机场物流业务)纳入麾下后,丰田并未停下其征伐的步伐,而是再度出手,与新兴科技巨头Gideon携手,共同绘制了一幅…

副本集 Election succeeded

目录 1. 分析mongo副本集 Election succeeded 的全过程:2. 从日志里面看到数据库一致性的对比吗?3. 模拟主备不同步,副本集切换步骤注意事项: not master and slaveOkfalse解释: 其他方案方法一:使用 rs.st…