linuxsir首页 LinuxSir.Org | Linux、BSD、Solaris、Unix | 开源传万世,因有我参与欢迎您!
网站首页 | 设为首页 | 加入收藏
您所在的位置:主页 > Linux数据库 >

Ubuntu 14.04(Trusty)安装MariaDB 10数据库

时间:2016-11-11  来源:未知  作者:linuxsir首页

之前一直在使用MySQL, 但是后来对比之后还是选择了MariaDB, 现在想在自己的服务器和本子上安装上MariaDB, 但是Ubuntu 14.04源中的版本仍然是5.5, 想在本子上装个新的体验下, 网上看了写教程, 都好老了, 很少有装10的, 少数有的也都是直接沾了PPA源, 但是源从哪里来的也是一头雾水, 因此有了这篇博客, 水平有限, 欢迎交流指正.

1 MariaDB介绍


1.1 MariaDB数据库


MariaDB 数据库管理系统是 MySQL 的一个分支, MariaDB努力想成为那些寻求专业的、健壮的、可扩展的、可靠的的 SQL 数据库服务的理想选择. 为了达成这个目标, MariaDB 基金会与开源社区的用户和开发者以自由和开源软件的精神共同开发着 MariaDB 数据库管理系统, 并且以保证可靠性的前提下来开发新的功能的方式来发布这个软件.

MariaDB数据库管理系统主要由开源社区在维护, 采用GPL授权许可 MariaDB的目的是完全兼容MySQL, 包括API和命令行,使之能轻松成为MySQL的代替品。

在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQLInnoDB. MariaDB基于事务的Maria存储引擎, 替换了MySQLMyISAM存储引擎, 它使用了PerconaXtraDB, InnoDB的变体

1.2 诞生


MariaDBMySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN, 此后, 随着SUN被甲骨文收购, MySQL的所有权也落入Oracle的手中. MariaDB名称来自Michael Widenius的女儿Maria的名字.

MySQL之父Widenius先生离开了Sun之后,觉得依靠Sun/Oracle来发展MySQL, 实在很不靠谱, 于是决定另开分支, 这个分支的名字叫做MariaDB.

MariaDBMySQL在绝大多数方面是兼容的,对于开发者来说,几乎感觉不到任何不同. 目前MariaDB是发展最快的MySQL分支版本,新版本发布速度已经超过了Oracle官方的MySQL版本。

Oracle控制下的MySQL开发, 有两个主要问题 :

  1. MySQL核心开发团队是封闭的, 完全没有Oracle之外的成员参加. 很多高手即使有心做贡献, 也没办法做到.

  2. MySQL新版本的发布速度, 在Oracle收购Sun之后大为减缓. Widenius有一个ppt, 用数据比较了收购之前和之后新版本的发布速度. 有很多bugfix和新的feature, 都没有及时加入到发布版本之中.

以上这两个问题, 导致了各个大公司, 都开发了自己定制的MySQL版本, 包括Facebook, Google, 阿里巴巴等等.

MySQL是开源社区的资产, 任何个人/组织都无权据为己有. 为了依靠广大MySQL社区的力量来更快速的发展MySQL, 另外开分支是必须的。

MariaDB默认的存储引擎是Maria, 不是MyISAM. Maria可以支持事务, 但是默认情况下没有打开事务支持, 因为事务支持对性能会有影响. 可以通过以下语句, 转换为支持事务的Maria引擎.

ALTER TABLE `tablename` ENGINE=MARIA TRANSACTIONAL=1;

2 安装MariaDB


2.1 源中直接安装 MariaDB 5.5


Ubuntu 14.04 的源中已经包含了 MariaDB 数据库, 参见

http://packages.ubuntu.com/trusty/mariadb-server

因此可以直接安装, 版本是 5.5.52

sudo apt-get install mariadb-server

2.2 安装 MariaDB 10


  • 下载源码包或者二进制包安装

如果想要安装新的版本, 需要上官网下载其安装包

下载地址 https://downloads.mariadb.org

下载地址

  • 使用官方提供的源进行安装

我们选择repository configuration tool, 或者直接进入

https://downloads.mariadb.org/mariadb/repositories/#mirror=tuna

选择我们对应的系统和环境, 我的环境是Ubuntu 14.04, 选择安装 MariaDB 10.0, 选择的是清华大学的源

添加ppa源

然后系统会提示我们需要添加的源和安装命令, 如下所示

添加源

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirrors.tuna.tsinghua.edu.cn/mariadb/repo/10.0/ubuntu trusty main'

或者你可以手动的方式在 apt 源文件中写入 mariadb 源的信息, 你可以直接将如下信息写在 /etc/apt/sources.list, 或者如果你不想污染源的主配置文件, 可以在 /etc/apt/sources.list.d下, 创建名为MariaDB sources.list的源文件, 这个文件的名字可以随意, 但是一般为了便于区分, 还是以软件包的名字名为好, 比如我起的名字就是mariadb-ppa-trusty.list, 创建完成后将如下信息写入

# MariaDB 10.0 repository list - created 2016-11-05 12:47 UTC
# http://downloads.mariadb.org/mariadb/repositories/
deb [arch=amd64,i386] http://mirrors.tuna.tsinghua.edu.cn/mariadb/repo/10.0/ubuntu trusty main
deb-src http://mirrors.tuna.tsinghua.edu.cn/mariadb/repo/10.0/ubuntu trusty main

安装mariadb数据库

sudo apt-get update
sudo apt-get install mariadb-server

参见 https://mariadb.com/kb/en/mariadb/installing-mariadb-deb-files/

3 配置mariadb


  • 若要更改或设置MariaDB密码

方法1: 用SET PASSWORD命令

mysql -u root

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

方法2:用mysqladmin

mysqladmin -u root password "newpass"

如果root已经设置过密码,采用如下方法

mysqladmin -u root password oldpass "newpass"

方法3: 用UPDATE直接编辑user表

mysql -u root

mysql> use mysql;

mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

mysql> FLUSH PRIVILEGES;

在丢失root密码的时候,可以这样

mysqld_safe --skip-grant-tables&

mysql -u root mysql

mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

mysql> FLUSH PRIVILEGES;
  • 启动MariaDB
service mysql start
  • 确认 MariaDB 已经启动
netstat -tulnp | grep mysql

确认 <code>MariaDB</code> 已经启动

或者

service mysql status

确认 <code>MariaDB</code> 已经启动

  • 登陆MariaDB

本地机器登陆

mysql -uroot -pyourpassword

如果是本机,那可以直接使用上面的命令登录,当然,需要输入密码. 如果是远程机器(与MariaDB 所处不同的机器),那么可能需要如下的形式:

其中xxx.xxx.xxx.x 为MariaDB所在机器的IP 或者机器名

mysql -h xxx.xxx.xxx.x -P 3306 -uroot -pyourpassword
  • 简单SQL测试
MariaDB [(none)]> use mysql

MariaDB [mysql]> select count(*) from user;
+----------+
| count(*) |
+----------+
|        5 |
+----------+
1 row in set (0.00 sec)

测试mariadb

想了解更多的关于MariaDB请访问如下的网站 : MariaDB documentation

4 参考资料


在 CentOS/RHEL/Scientific Linux 6 下安装 LAMP (Apache with MariaDB and PHP)

MariaDB Proxy读写分离的实现

Linux下编译安装配置MariaDB数据库的方法

CentOS系统使用yum安装MariaDB数据库

安装MariaDB与MySQL并存

Ubuntu 上如何将 MySQL 5.5 数据库迁移到 MariaDB 10

reference documents

关于远程访问及防火墙设置请参考以下

笔者在一个实际的项目中需要MYSQL远程访问.
情景: 安装好Mysql, 本地访问正常,很奇怪局域的机器都无法访问该服务器上的MYSQL数据库.
经过资料查找
原来Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问 .
在MySQL Server端:
登陆MYSQL  ..bin\ mysql -h localhost -u root -p
提示你输入密码,输入密码后进入
mysql 命令模式,
mysql> use mysql;   
mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;   
#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户  和密码(admin)来访问这个MySQL Server   
#必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆
在服务器上,使用IP地址和新的用户,确实可以访问服务器,但是远程机器还是无法访问到该MYSQL.
经过关闭服务器上防火墙,噢, MYSQL是可以访问拉.但是从安全角度出发,是不允许关闭防火墙的.

友情链接
  • Mozilla发布Firefox 67.0.4,修复沙箱逃逸漏洞
  • 蚂蚁金服正式成为CNCF云原生计算基金会黄金会员
  • Firefox 68将采用Microsoft BITS安装更新
  • OpenSSH增加对存储在RAM中的私钥的保护
  • 谷歌想实现自己的curl,为什么?
  • Raspberry Pi 4发布:更快的CPU、更大的内存
  • Firefox的UA将移除CPU架构信息
  • Ubuntu放弃支持32位应用程序实属乌龙,Steam会否重回Ubuntu怀抱
  • Qt 5.13稳定版发布:引入glTF 2.0、改进Wayland以及支持Lottie动
  • 红帽企业Linux 7现已内置Redis 5最新版
  • Slack进入微软内部禁用服务清单,GitHub也在其列?
  • 安全的全新编程语言V发布首个可用版本
  • Windows Terminal已上架,快尝鲜
  • 阿里巴巴微服务开源生态报告No.1
  • 面世两年,Google地球将支持所有基于Chromium的浏览器
  • 推进企业容器化持续创新,Rancher ECIC千人盛典完美收官
  • CentOS 8.0最新构建状态公布,或于数周后发布
  • Debian移植RISC
  • 微软拆分操作系统的计划初现雏形
  • Oracle发布基于VS Code的开发者工具,轻松使用Oracle数据库
  • Ubuntu 19.10停止支持32位的x86架构
  • 微软为Windows Terminal推出全新logo
  • 联想ThinkPad P系列笔记本预装Ubuntu系统
  • 微软发布适用于Win7/8的Microsoft Edge预览版
  • 启智平台发布联邦学习开源数据协作项目OpenI纵横
  • 经过六个多月的延迟,微软终于推出Hyper
  • ZFS On Linux 0.8.1 发布,Python可移植性工作
  • DragonFly BSD 5.6.0 发布,HAMMER2状态良好
  • Linux Kernel 5.2
  • CentOS 8.0 看起来还需要几周的时间
  • 百度网盘Linux版正式发布
  • PCIe 6.0宣布:带宽翻倍 狂飙至256GB/s
  • PHP 7.4 Alpha 发布,FFI扩展,预加载Opcache以获得更好的性能
  • Canonical将在未来的Ubuntu版本中放弃对32位架构的支持
  • Scala 2.13 发布,改进的编译器性能
  • 微软的GitHub收购了Pull Panda,并且使所有订阅完全免费
  • Windows Subsystem for Linux 2 (WSL 2)现在适用于Windows 10用
  • Debian 10 “Buster”的RISC
  • MariaDB宣布发布MariaDB Enterprise Server 10.4
  • DXVK 1.2.2 发布,带来微小的CPU开销优化
  • DragonFlyBSD 5.6 RC1 发布,VM优化,默认为HAMMER2
  • PrimeNG 8.0.0 发布,支持Angular 8,FocusTrap等
  • GIMP 2.10.12 发布,一些有用的改进
  • 清华大学Anaconda 镜像服务即将恢复
  • Debian GNU/Linux 10 “Buster” 操作系统将于2019年7月6日发布
  • 时时彩论坛
  • 五星体育斯诺克
  • 北单比分直播
  • 河北11选5走势图
  • 福建体彩36选7开奖结果
  • 九龙图库下载