热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux系统下快速部署MariaDB代替MySQL数据库

MariaDB名称来自MichaelWidenius的女儿Maria的名字。是MariaDB的LOGO:MariaDB的LOGOMariaDB下载:https://downloads.mariadb.org/MariaDB网站:http://www.mariadb.org/MariaDB最新稳定版为:MariaDB5.

MariaDB名称来自Michael Widenius的女儿Maria的名字。 是MariaDB 的LOGO:

MariaDB 的LOGO

MariaDB 下载:https://downloads.mariadb.org/

MariaDB 网站:http://www.mariadb.org/

MariaDB最新稳定版为:MariaDB 5.5。上一个稳定版为:MariaDB 5.3。

MariaDB 是一个采用 Maria 存储引擎的 MySQL 分支版本,与 MySQL 相比较,MariaDB 更强的地方在于,二者支持的不同的引擎。通常可以通过show engines 命令来查看两种数据库服务器 支持的不同的引擎。 Support列的信息包括YES,NO 和 DEFAULT。

和 分别是MySQL 5.5 和MariaDB 5.5 引擎列表:

MySQL 5.5引擎列表

MariaDB 5.5 引擎列表

对比二者 Sphinx全文搜索引擎是目前当前市场上最炙手可热的开源搜索引擎,MariaDB利用SphinxSE作为存储引擎。另外MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,是InnoDB的变体。MariaDB默认的存储引擎是Aria,不是MyISAM。Aria可以支持事务,但是默认情况下没有打开事务支持,因为事务支持对性能会有影响。PBXT 是 MariaDB 附带的一种存储引擎,PBXT 在 MariaDB 的 5.1/5.2/5.3 版本中存在,但从 MariaDB 5.5 开始就不再提供 PBXT 存储引擎,而且以后也将不再提供。另外MariaDB已经宣布了Cassandra存储引擎的一个预览版本。该插件允许MariaDB通过标准SQL语法使用Cassandra集群。

MariaDB跟MySQL在绝大多数方面是兼容的,对于开发者来说,几乎感觉不到任何不同。目前MariaDB是发展最快的MySQL分支版本 。

二 主要 Linux 发行版本安装MariaDB

本文主要介绍两大主要Linux 发行版本类别:

使用rpm 软件包格式的RHEL/CentOS/Fedora

使用deb软件包格式的Debian /Ubuntu 。

1、使用rpm 软件包格式的RHEL/CentOS/Fedora

(1)这里以Fedora 19为例

其中使用Fedora 19 是最简单的,因为这个最新Linux 发行版本可以直接使用yum 软件包工具安装

a、安装软件包

#yum -y install mariadb-server mariadb 

#systemctl start mysqld.service 

#systemctl enable mysqld.service 

ln -s '/lib/systemd/system/mysqld.service' '/etc/systemd/system/multi-user.target.wants/mysqld.service' 

2、数据库的基本操作

首次连接MariaDB如:

#mysql -u root 

首次连接MariaDB

可以看到mariadb 版本号是5.5.31-MariaDB MariaDB Server,其他基本操作(和Mysql操作相同)。

查看用户信息

使用内部命令:select user,host,password from mysql.user; 如:

查看用户信息

设置root用户密码

MariaDB [(none)]> set password for root@localhost=password('password'); 

Query OK, 0 rows affected (0.00 sec) 

# set root password 

MariaDB [(none)]> set password for root@'127.0.0.1'=password('password'); 

Query OK, 0 rows affected (0.00 sec) 

删除一些数据库用户(ipv6 和 匿名用户)

MariaDB [(none)]> delete from mysql.user where user='root' and host='::1'; 

Query OK, 1 rows affected (0.00 sec) 

MariaDB [(none)]> delete from mysql.user where user=''; 

Query OK, 2 rows affected (0.00 sec) 

退出后使用root密码重新登录

#mysql -u root -p 

Enter password: 

# MariaDB root password you set 

Welcome to the MariaDB monitor.  Commands end with ; or \g. 

Your MariaDB connection id is 3 

Server version: 5.5.31-MariaDB MariaDB Server 

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others. 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

MariaDB [(none)]> 

3、安装MariaDB客户端工具

MariaDB的API和协议兼容MySQL,另外又添加了一些功能,以支持本地的非阻塞操作和进度报告。这意味着,所有使用MySQL的连接器、库和应用程序也将会在MariaDB下工作。如下是支持MariaDB的工具客户端:

DBEdit 一个免费的MariaDB数据库和其他数据库管理应用程序。

Navicat 一系列Windows、Mac OS X、Linux下专有数据库管理应用程序。

HeidiSQL 一个Windows上自由和开放源码的MySQL客户端。它支持MariaDB的5.2.7版本和以后的版本。

phpMyAdmin 一个基于网络的MySQL数据库管理应用程序 。

下面介绍phpMyAdmin ,安装使用phpMyAdmin要配置完成Apache 和 php 相关软件包:

# yum -y install httpd php php-mbstring php-pear 

# yum -y install phpMyAdmin php-mysql php-mcrypt 

修改配置文件添加ip地址范围:

vi /etc/httpd/conf.d/phpMyAdmin.conf 

# line 15: add IP address you permit 

Require ip 127.0.0.1 10.0.0.0/24 

# line 32: add IP address you permit 

Require ip 127.0.0.1 10.0.0.0/24 

#systemctl restart httpd.service 

然后使用浏览器访问即可,如:

phpMyAdmin管理mariadb数据库

(2)其他使用rpm软件包的发行版本

添加文件:/etc/yum.repos.d/MariaDB.repo

CentOS 6 64位发行版本的/etc/yum.repos.d/MariaDB.repo文件内容:

[mariadb] 

name = MariaDB 

baseurl = http://yum.mariadb.org/5.5/centos6-amd64 

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB 

gpgcheck=1 

安装命令

#yum -y install MariaDB-server MariaDB-client 

# service mysql start 

# chkconfig mysql on 

(3)其他版本安装mariadb(以Ubuntu 12.04 为例子)

首先从 MariaDB 下载页面 选择贴近你的版本的资料库镜像,然后下载页面会在底部显示镜像信息,将这些信息添加到 /etc/apt/source.list

deb http://ftp.heanet.ie/mirrors/mariadb/repo/5.5/ubuntu lucid main 

deb-src http://ftp.heanet.ie/mirrors/mariadb/repo/5.5/ubuntu lucid main 

2. 接下来需要导入签名密钥:

# apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db 

3. 更新

#apt-get update 

4. 安装

#apt-get install mariadb-server-5.5 

安装过程中要输入mariadb的root密码并且确认一次如:

输入mariadb的root密码并且确认一次

三 Mariadb的root密码的重新设置

首先停止数据库服务器进程:

# service mysql stop 

安全模式启动:

# mysqld_safe --skip-grant-tables & 

登录MariaDb server:

# mysql -u root 

Welcome to the MariaDB monitor. Commands end with ; or \g. 

Your MariaDB connection id is 1 

Server version: 5.5.32-MariaDB MariaDB Server 

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others. 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

设置密码:

MariaDB [(none)]> update mysql.user set password=PASSWORD("newpassword") where User='root'; 

Query OK, 4 rows affected (0.00 sec) 

Rows matched: 4 Changed: 4 Warnings: 0 

授权后退出:

MariaDB [(none)]> flush privileges; 

Query OK, 0 rows affected (0.00 sec) 

MariaDB [(none)]> exit; 

Bye 

重新启动数据库进程:

# service mysql restart 

使用新密码登录:

# mysql -u root -p 

Enter password: 

Welcome to the MariaDB monitor. Commands end with ; or \g. 

Your MariaDB connection id is 1 

Server version: 5.5.32-MariaDB MariaDB Server 

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others. 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

总结:

MariaDB 基本上名门之后,加上MySQL创始人Monty的实力和号召力,是作为MySQL一个非常好的替代品,前途发展无限,值得我们尝试使用。二者的常用工具,连接程序都可以如常运作。你也不需要导出和汇入数据。格式与文件名都是相同的。


推荐阅读
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • 本文详细探讨了 org.apache.hadoop.ha.HAServiceTarget 类中的 checkFencingConfigured 方法,包括其功能、应用场景及代码示例。通过实际代码片段,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 本文详细介绍了在XAMPP环境中如何修改Apache和MySQL的默认端口号,并确保WordPress能够正常访问。同时,提供了针对Go语言社区和Golang开发者的相关建议。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • 配置PHPStudy环境并使用DVWA进行Web安全测试
    本文详细介绍了如何在PHPStudy环境下配置DVWA( Damn Vulnerable Web Application ),并利用该平台进行SQL注入和XSS攻击的练习。通过此过程,读者可以熟悉常见的Web漏洞及其利用方法。 ... [详细]
  • 本文详细介绍如何使用 Apache Spark 执行基本任务,包括启动 Spark Shell、运行示例程序以及编写简单的 WordCount 程序。同时提供了参数配置的注意事项和优化建议。 ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • CentOS 7 默认安装了 MariaDB,作为 MySQL 的一个分支。然而,出于特定需求,我们可能仍需在系统中安装 MySQL。本文将详细介绍如何通过 Yum 包管理器在 CentOS 7 上安装 MySQL,并提供一些常用的 MySQL 命令。 ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • 在使用 PHP 通过 SSL 安全连接到 MySQLi 数据库服务器时,遇到了一些技术难题。我的环境包括一个 Web 服务器和一个数据库服务器,两者均使用 OpenSSL 生成了证书。尽管证书内容一致,但在尝试从 Web 服务器使用 `mysql` 命令进行连接时,仍然遇到了问题。为了确保连接的安全性和稳定性,需要进一步检查证书配置和 PHP 的 SSL 设置,以排除潜在的配置错误或兼容性问题。 ... [详细]
author-avatar
hanhan2502883243
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有