阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

216次阅读
没有评论

共计 4387 个字符,预计需要花费 11 分钟才能阅读完成。

之前一直在使用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

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

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

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

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

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

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

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

添加源

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

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

或者

service mysql status

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

  • 登陆 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)

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

想了解更多的关于 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 是可以访问拉. 但是从安全角度出发, 是不允许关闭防火墙的.

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/136833.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计4387字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中