CentOS7下安装MariaDB
环境:Window10 上建立 VMWare 虚拟机,EasyInstaller 方式安装 CentOS 7
1. “失败”的经历
备份原 repo 文件,并更改 yum 源(方法详见修改yum源)为aliyun,按照 MariaDB官方方式将yum信息添加(参考添加yum内容)到新保存的源文件内。然后根据官方文章(详情查看使用yum安装MariaDB)进行安装,但遭遇了一个尴尬的问题——就是在我怀着期盼的心情运行
sudo yum install MariaDB-server MariaDB-client
之后发现,网速毁掉了一切,我指的是对国外站点的访问。

我推测,因为使用的是 MariaDB 官方给的地址,因此镜像可能在美国、在美洲、在欧洲......导致在安装“MariaDB-10.2.8-Centos7-x86_64-server.rpm”的时候只有2-4 kB/s 的速度,一会儿便会 Failed 。忍无可忍下,只好又寻找其它方法。所以我称它为“失败”的经历。但此时,无疑大部分文件已经被下载到了磁盘上,而且继续运行还会继续安装。
2. 本地安装
QQ群中热心网友 “梦境”提供信息,指出应该先下载下来然后本地安装,还帮忙找了两个官方安装方法,谢谢!
Ctrl+C 停掉当前缓慢的安装。去下载官方rpm包

选好下载是一个 tar 压缩包,解压缩之后释放一个文件夹里边都是 rpm file。

东西准备好了,去跟着官方教程 “Installing MariaDB With tjhe rpm Tool” 进行吧。
按照指引,先导航到官网选择匹配的版本(已完成),文件准备完毕,做一下签名的校验,签名校验的链接文中也带了。第一次校验时全部失败了

看了一下因为没有给对应的验证码,跟谁校验比对呢?按照官方指引,进行几步命令
#To check the signature you first need to import the public part of the key like so:
gpg --keyserver hkp://pgp.mit.edu --recv-keys 1BB943DB #Next you need to let pgp know about the key like so:
gpg --export --armour 1BB943DB > mariadb-signing-key.asc
sudo rpm --import mariadb-signing-key.asc #You can check to see if the key was imported with:
rpm -qa gpg-pubkey*
然后再运行
#Once the key is imported, you can check the signature of the MariaDB RPM files by running the something like the following in your download directory: rpm --checksig $(find . -name '*.rpm')

校验完成之后,按照要求运行一下对原有 mysql 的检测,目的是如果有就清除掉
rpm -qa 'mysql*'
安装 MariaDB with
rpm -ivh MariaDB-*
本机出现了依赖问题没有成功

接下来就要处理这些
... 时间到了下周一,根据提示百度大法,百度到一片文章《Centos7安装MariaDB》后发现原文来自 MariaDB Installation (Version 10.1.21) via RPMs on CentOS 7,里边有一段 step by step跟着做一下,先做第一句 “sudo yum install rsync nmap lsof perl-DBI nc”,神奇的事情花生了



按照提示,下面该先安装下载的 MariaDB 的 rpm 包中一些辅助配套软件(我的理解)
sudo rpm -ivh jemalloc-3.6.-.el7.x86_64.rpm

sudo rpm -ivh jemalloc-devel-3.6.-.el7.x86_64.rpm

sudo rpm -ivh MariaDB-10.2.-centos7-x86_64-common.rpm

sudo rpm -ivh MariaDB-10.2.-centos7-x86_64-compact.rpm

sudo rpm -ivh MariaDB-10.2.-centos7-x86_64.rpm

sudo rpm -ivh galera-25.3.-.rhel7.el7.centos.x86_64.rpm
果然里遇到文章里说的可能的依赖问题

解决方式是 yum 安装
yum install boost-devel.x86_64
奇迹又一次花生






安装完依赖,回去接续安装刚才没装完的 galera

最后安装关键的 server
sudo rpm -ivh MariaDB-10.2.-centos7-x86_64-server.rpm


完了?又打开官方教程 Installing MariaDB With the rpm Tool 对照一下,发现路径下有很多 rpm 似乎没有(手动)安装,用 rpm -ivh MariaDB-* 再运行一下,结果提示

百度一下,先安装 libodbc.so.2() 这东西
sudo yum install unixODBC

libJudy 死活找不到,后来在 pkgs.org 找到一个,下载到本地 yum 安装
sudo yum install Judy-1.0.-.el7.x86_64.rpm

回头重新安装一遍 MariaDB-*



这总算安完了吧!!简单总结一下,这样比较好:
- 先清理一下所有的 mysql* 安装痕迹
- 先把依赖安装一下,比如 libodbc 和 libJudy 等
- 单独下载然后本地安装比较好,就是把 rpms 下下来,解压好,进入路径,然后一通 sudo yum install MariaDB-*
一些链接:
- 使用yum安装MariaDB:https://mariadb.com/kb/zh-cn/installing-mariadb-with-yum/
- 下载MariaDB:https://mariadb.com/downloads
- Checking MariaDB RPM Package Signatures:https://mariadb.com/kb/en/checking-mariadb-rpm-package-signatures/
- Installing MariaDB With the rpm Tool:https://mariadb.com/kb/en/library/installing-mariadb-with-the-rpm-tool/
- MariaDB Installation (Version 10.1.21) via RPMs on CentOS 7:https://mariadb.com/kb/en/library/mariadb-installation-version-10121-via-rpms-on-centos-7/
- Installing MariaDB binary tarballs:https://mariadb.com/kb/en/library/installing-mariadb-binary-tarballs/
- Centos7安装MariaDB:http://blog.163.com/yxba_02/blog/static/18755762017461170529?ignoreua
- MariaDB Installation (Version 10.1.21) via RPMs on CentOS 7:https://mariadb.com/kb/en/library/mariadb-installation-version-10121-via-rpms-on-centos-7/
- mysql_secure_installation:https://mariadb.com/kb/en/library/mysql_secure_installation/
- libJudy.so.1:wget ftp://ftp.is.co.za/mirror/fedora.redhat.com/epel/6/x86_64/Judy-1.0.5-1.el6.x86_64.rpm (本文未使用这种方式而是作为借鉴和记录)
CentOS7下安装MariaDB的更多相关文章
- MariaDB Centos7 下安装MariaDB
Centos7 下安装MariaDB by:授客 QQ:1033553122 1.下载安装文件 rpm包为例,对于标准服务器安装,至少需要下载client,shared,serve文件(安装时如果少了 ...
- CentOS7下安装Mariadb 10.3.17
1. install lsb packagesudo yum install -y redhat-lsb 2.install net-tools packagesudo yum install -y ...
- CentOS7下安装MySQL并配置远程连接
一.CentOS7下安装MySQL数据库 CentOS7默认的安装包里面已经没有 MySQL-Server安装包了,远程镜像中也没有了. 默认的是MariaDB (MySQL的一个分支,开发这个分支的 ...
- Linux - centos7 下 MySQL(mariadb) 和 主从复制
目录 Linux - centos7 下 MySQL(mariadb) 和 主从复制 MySQL(mariadb) 安装MySQL(mariadb) 配置数据库的中文支持 在远程用 mysql客户端去 ...
- CentOS7 下 安装 supervisor以及使用
CentOS7 下 安装 supervisor 以及使用 手动安装 [注] linux环境必须安装 python 1.获取supervisor包:[https://pypi.python.org/py ...
- Linux CentOs7 下安装 redis
Linux CentOs7 下安装 redis 请将以下命令放入linux命令行中运行 如果安装过程前没有安装GCC请先安装 命令如下 $ yum install gcc-c++ $ wget ht ...
- Centos7下安装配置Redsocks
Redsocks是一个开源的网络程序,代码依赖开源的libevent网络库.Redsocks允许你将所有TCP连接重定向到SOCKS或HTTPS代理,比如Shadowsocks(Centos7下安装配 ...
- CentOS7下安装SVN服务端
CentOS7下安装SVN服务 1. yum命令即可方便的完成安装# sudo yum install subversion 测试安装是否成功:# svnserve --version 更改svn的默 ...
- centOS7下安装GUI图形界面
1.如何在centOS7下安装GUI图形界面 当你安装centOS7服务器版本的时候,系统默认是不会安装GUI的图形界面程序,这个需要手动安装CentOS7 Gnome GUI包. 2.在系统下使用命 ...
随机推荐
- 关于xmlHttp.status最新统计
AJAX中请求远端文件.或在检测远端文件是否掉链时,都需要了解到远端服务器反馈的状态以确定文件的存在与否. Web服务器响应浏览器或其他客户程序的请求时,其应答一般由以下几个部分组成:一个状态行,几个 ...
- .NET Core+Selenium+Github+Travis CI => SiteHistory
前言 总是三分钟热度的我折腾了一个可以每天自动截取指定网站页面并保存到Github的项目SiteHistory,感觉挺好(每次都这样). 想知道YouTube今天的首页长啥样么?点此查看 想知道You ...
- JavaScript笔记之第五天
JavaScript 对象 JavaScript 中的所有事物都是对象:字符串.数值.数组.函数... 此外,JavaScript 允许自定义对象. 所有事物都是对象 JavaScript 提供多个内 ...
- 一语惊醒梦中人-《Before I Fall》
I still remembered I turned my attention to the title when I browsed in news by cellphone.I saw the ...
- 记一次JavaWeb网站技术架构总结
题记 工作也有几多年了,无论是身边遇到的还是耳间闻到的,多多少少也积攒了自己的一些经验和思考,当然,博主并没有太多接触高大上的分布式架构实践,相对比较零碎,随时补充. 俗话说的好,冰冻三尺非一日之寒, ...
- ASP.NET Core 2.0 自定义 _ViewStart 和 _ViewImports 的目录位置
在 ASP.NET Core 里扩展 Razor 查找视图目录不是什么新鲜和困难的事情,但 _ViewStart 和 _ViewImports 这2个视图比较特殊,如果想让 Razor 在我们指定的目 ...
- Javascript用数组实现栈和队列
栈是遵循后进先出(LIFO)规则的一种有序集合,比如桌上的一叠书,我们只能从上面放或取. 队列是遵循先进先出(FIFO)规则的一种有序集合,比如排队,先排到的先离开. 数组也是一种有序的集合,它与上面 ...
- JSON创建键值对(key是中文或者数字)方式详解
JSON创建键值对(key是中文或者数字)方式详解 先准备好一个空的json对象 var obj = {}; 1. 最原始的方法 obj.name = 'zhangsan'; //这种方式很简单的添加 ...
- Java数据库连接池比较(c3p0,dbcp,proxool和BoneCP)
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp21 Java框架数据库连接池比较(c3p0,dbcp和proxool,Bo ...
- 从async await 报错Unexpected identifier 谈谈对上下文的理解
原文首发地址: 先简单介绍下async await: async/await是ES6推出的异步处理方案,目的也很明确:更好的实现异步编程. 详细见阮大神 ES6入门 现在说说实践中遇到的问题:使用 ...