MariaDB应用全攻略

2015-12-03 03:30
网络安全和信息化 2015年6期
关键词:图形化数据表备份

在CentOS上安装MariaDB

MariaDB数据库管理系统是MySQL的一个分支,现在主要由开源社区在维护。开发这个分支的原因之一是:Oracle公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

1.安装

图1 MariaDB登录

目前CentOS的最新版本是7,并且默认的软件源中已经不再有MySQL,替代的是MariaDB。如果使用安装MySQL的命令,一般会指向安装MariaDB。在CentOS 7中安装MariaDB有两种方式,一种是如果本地计算机能正确连接网络的情况下,使用yum安装;另一种是使用安装包进行安装。当然快捷的方式是第一种方式,正确的命令如下。

这样就将MariaDB相关的软件和依赖关系都安装了。

2.启动

在终端输入如下命令启动MariaDB。

正常启动服务后,没有提示。

3.进入

由 于MariaDB是MySQL的一个分支,所以进入方式和MySQL类似,在终端输入如下命令。

[root@localhost ~]#mysql

初次进入时,无需输入密码,得到如图1所示界面。

在图1所示提示符中,可以看到进入的是MariaDB,当前版本是5.5.40,并且命令提示符已经是MariaDB。

在Windows上安装MariaDB

在Windows下安装,最常用的方式是使用编译好的二进制包进行安装,使用这种方式安装是方便和快捷。

首先上官网上下载安装包,同时可以查看其最新版本。官网地址是:https://mariadb.org/。找到下载页面,在该页面提供了多种版本供下载,目前提供的最新稳定版本是10.0.15,只需下载该版本对应的Windows二进制安装包即可。

安装过程如下:

双击下载的msi包进行安装,按照提示进行安装,包括选择安装路径和修改root密码,以及设置其服务名和端口号,设置完成后,便开始安装。安装完成后的开始菜单如图2所示。

图2 MariaDB菜单

图3 HeidiSQL

该菜单提供了两种方式访问MariaDB的方式,一种是命令提示符,另一种是HeidiSQL方式,即图形化界面(如图3)。

在Windows下的安装过程也很方便,只需要在安装过程中按照提示键入重要参数即可完成安装,并且还自带一个图形化管理界面,方便不喜欢命令提示符用户的管理。

设置MariaDB

MariaDB安装完成后,一般采用的是默认安装方式,比如在CentOS中安装后,root密码也为空。所以安装完成后,需要对其进行相关设置。

Windows 7安 装 后,配置文件位于安装目录内,如C:Program FilesMariaDB 10.0data,名 为 my.ini;而CentOS中的配置文件位于目录“/etc/”中,名为my.cnf。下面操作在CentOS中命令行下执行。

1.root密码

下面命令修改root密码为123456。修改完成后,下次使用root登录时,就需要使用新的密码进行登录了。

2.数据存放目录

在CentOS中,数据存放在目录“/var/lib/mysql/”中,一般为了数据的安全性,或是为了将数据和程序分离,需要将其移到其他目录下。下面是操作方法。

首先,停止MariaDB。

然后,创建一个新目录(如果需要移动到的目录不存在),拷贝默认数据库到这个新的位置。

注意,cp命令中的-a表示将属性一起拷贝。

最后,修改配置文件my.cnf,使用任一编辑工具打开该文件。将[mysqld]节下的“datadir=/var/lib/mysql”,修改为新的位置即可,如下所示。

其他内容保持不变。修改完成后,启动MariaDB服务,使用的数据位置即为新的目录。

3.用户远程登录

安装完成后的数据库,root用户只允许本机登录,这也是出于安全考虑。但是,一般都需要开放远程登录,允许一定的用户远程登录访问数据库。为了系统和数据的安全,最好还是不允许root远程登录。下面,将在MariaDB中建立一用户,并允许远程访问。

首先是在终端连接到MariaDB,然后使用下面的命令进行配置。

该命令是允许任何主机使用“user1”账号和“123456”密码连接到MariaDB服务器。

开启完成后,不要忘记查看服务器中的防火墙相应的端口是否开放,MariaDB默认是使用3306端口。

MySQL数据迁移至MariaDB及备份还原

如果用户之前有使用MySQL存储数据,并且为了一直使用开源数据库,安装了MariaDB,此时想把MySQL数据库中数据迁移至MariaDB中,那就需要数据的迁移了。

1.迁移数据

前 面 讲 过,MariaDB是MySQL的一个分支,那么在很多操作上都有相通之处,包括数据的备份和还原,所以在这里,将数据的迁移、备份和还原放到一起。

数据的迁移过程是,将MySQL中的数据备份出来,然后在MariaDB中进行还原。下面的命令是在Windows 7下备份出MySQL数据库Web中的数据,保存到文件d:web.sql中。

然后在MariaDB数据库下,运行还原数据库的命令进行还原。

通过以上两步简单操作,便完成了MySQL数据向MariaDB中的迁移。

2.数据的备份和还原

在MariaDB中的数据备份和还原操作和在MySQL中的操作一样,使用以上的mysqldump命令完成对指定数据库的备份;而使用source命令便完成对数据的还原操作。

另外一种备份方法是,先将MariaDB服务停止,然后完全拷贝数据目录进行备份。这种方法是完全备份数据,缺点是需要先将服务停止,如果对于线上业务会有部分影响。还原时,直接将备份目录拷贝回即可。

总之,不管对于何种方法备份和还原数据,数据对于用户来讲都是非常重要的。在实际部署中,时刻需要保护用户数据的安全性,可以采用多种方法结合来备份数据。

Java连接MariaDB

使用数据库的目的是利用数据,多数的方法是采用用户编程的方式进行读取。这样既能满足用户的各种需求,也能保证数据的正确性和完整性。目前多种编程语言都已经提供连接MariaDB的接口了。下面介绍Java和PHP如何连接MariaDB。

1.Java连接

目前MariaDB项目提供了MariaDB Java Client 1.1.8版本供用户下载,下载地址是:https://mariadb.com/kb/en/mariadb/mariadb-javaclient-118-release-notes/,用户可以在该网址下载到稳定版本。下载完成后,在Eclipse中新建一个项目,引用该jar包,如图4所示。

下面是一段简单的测试代码,测试Java连接MariaDB。

图4 java中引用

图5 HeidiSQL新建会话框

上面只显示了重要的代码,其中重要的第一行为MariaDB连接建立了新的实例,接着显示需要连接的MariaDB服务器,上面连接的是本地MariaDB中的test数据库。同时为了正常运行上面代码,还需要在test数据库中建立一张简单的student表,如下SQL代码所示。

insert into student values(1,'lily');

如果正常运行,将显示数据表中的第一条数据,则表示以上配置方法正确,下面就可以采用Java编程访问MariaDB数据库了。

图形化界面管理

图形化管理是作为一种管理数据库的重要手段,一个是方便了管理员能直观地管理数据库,对于管理员能方便观察各种数据表中的数据,而不用记住各种数据库操作指令;其次是对于初学者,能更快速帮助学习数据库操作,加深对数据库操作的理解。MariaDB是MySQL的一个分支,所以,目前对于MySQL的图形化管理工具同样能有效管理MariaDB。下面介绍几个用于有效管理MariaDB的图形界面化工具。

1.HeidiSQL管理

HeidiSQL是一个开源免费的Windows下优秀的MySQL/SQL Server管理客户端。前面已经介绍过,在MariaDB官网下载的已经编译好的Windows安装包中,默认有HeidiSQL的安装。由此可见其同时可以管理MariaDB数据库。同时,也可以从其官网http://www.heidisql.com/download.php上下载安装包进行安装,目前提供的最新版本是9.1。安装完成后的界面如图3所示。

该软件虽小,但提供了较强大的数据库管理功能,允许用户浏览数据库、管理表、浏览和编辑记录,管理用户权限等等。此外,还可以从文本文件导入数据,运行SQL查询,在两个数据库之间同步表以及导出选择的表到其他数据库或者SQL脚本当中。其提供了友好的标签管理界面,用户可以通过不同的标签页查看不同的表、进行不同的操作,而这些操作不互相影响,这对于有大量交互任务的管理员来说很有用。下面介绍连接MariaDB数据库和重要的导出数据操作。

(1)数据库的连接

运行HeidiSQL时,会弹出连接数据库的对话框,如图5所示。

在该会话框中,默认选择MySQL(TCP/IP)网络类型即可,填入MariaDB所在的主机名或IP,以及能连接的用户名和密码。数据库下拉列表中,可填或不填,不填写则表示显示所有数据库。完成后,点击“打开”按钮,则打开管理页面,可以对指定的MariaDB数据库进行管理了。

(2)数据的导出

图形化管理对于支持数据导出功能还是很重要的。数据导出可以用于数据的维护、数据迁移以及数据备份等。在HeidiSQL的管理界面中,右键选中数据库管理列表的数据库或数据表,在弹出菜单中选择“导出数据脚本”,如图6所示。

接着打开“表工具”对话框,如图7所示。用户通过该对话框的操作可以完成对数据库的导出操作。

图6 右键菜单

图7“表工具”对话框

图8“数据”下来列表

在图7对话框中,左边树型列表中列出了选中的当前数据库所有表,此时可以选择导出整个数据库,或只导出其中指定的数据表;在右边默认选择的标签下,列出了当前导出的方式。这里的“数据库”和“表”有两个选项,分别为“删除”和“创建”,如果勾选则生成的SQL语句中含有删除和创建数据库或数据表的语句。

在“数据”列表中,列出了对数据的操作方式,如图8所示,其代表了如何输出数据表,比如“No data”表示创建的文件中,只包含创建表语句,而不包含数据;“INSERT”表示包含数据的插入操作,其他几个选项有类似操作。在对数据表中数据导出时的处理,主要根据用户需要而进行选择,这几个不同的选项基本适合了不同管理员的需求。比如,有的管理员只为了复制数据结构到其它数据库中,这时则只需要选择“No data”就可以满足需求。

在“输出”列表中,列出了多种输出方式;“文件名”文本框,用于输入导出的文件路径及文件名。

2.phpMyAdmin管理

phpMyAdmin是以PHP为基础,用B/S架构管理MySQL数据库的图形化工具,方便了用户可以用Web方式直接管理MySQL数据库,借服务器的Web接口成为一个简易方式输入复杂的SQL语法的方便途径,尤其是方便了要处理大量资料的汇入及汇出。其中一个优势在于phpMyAdmin跟其他PHP程式一样在Web服务器上运行,更加方便于远端管理MySQL数据库,比如建立、修改、删除数据库及资料表。

由于具有相当多的优势,很多管理员还是安装了phpMyAdmin进行管理。前面讲过,MariaDB是MySQL的分支,所以phpMyAdmin同时支持对于MariaDB的管理,基本属于无需增加任何特殊的代码,就可以实现管理MariaDB数据库。

(1)安装phpMyAdmin

首先是在服务器中搭建Apache平台(或其他支持PHP的平台亦可),安装PHP和MariaDB支持。然后到http://www.phpmyadmin.net/home_page/官网上下载最新版本的 phpMyAdmin,目前最新版本是4.3.8。

下载完成后,将其解压缩到服务器中可以访问的Web目录下,比如phpMyAdmin文件夹中。前期Apache服务器配置正确的话,一般解压缩后,直接访问该目录,可以打开首页,如图9所示。

如果MariaDB安装在和Apache同一台服务器,并且以默认方式安装,即端口号为3306,则在图9中输入访问MariaDB的用户名和密码后,就可以对MariaDB进行管理了,如图10所示。

(2)设置phpMyAdmin

多数情况下,还需要对phpMyAdmin进行相应设置,配置文件是安装目录下中libraries下的config.default.php文件。

修改MySQL主机信息:找到$cfg['Servers'][$i]['host']= 'localhost';//修 改localhost为MariaDB所在服务器的IP地址,如果MariaDB和该phpMyAdmin在同一服务器,则按默认localhost。

图9 phpMyAdmin首页

图10 phpMyAdmin管理界面

修改端口号:找到$cfg['Servers'][$i]['port'] = '';

// 修改MariaDB对于的服务端口号,默认空为3306端口。

修改MariaDB用户名和密码:找到$cfg['Servers'][$i]['user'] = 'root';

//访问phpMyAdmin使用的MariaDB用户名

找 到fg['Servers'][$i]['password'] = '';

// 访问MariaDB的对于上面用户名的密码 (only needed对应上述MySQL用户名的密码),在这里,设置访问用户名和密码,仅仅在对于访问phpMyAdmin的认证方式修改为config有效。

修改认证方式:找到$cfg['Servers'][$i]['auth_type'] = 'cookie';

//设 置 访 问phpMyAdmin的认证方式,在此有四种模式可供选择,config、http、signon或者cookie。

phpMyAdmin管 理MariaDB主要对于一些需要随时在不同计算机远程访问服务器中的数据库或进行修改时还是非常方便。只要用户拥有远程访问数据库的用户名和密码,都可以进行管理。所以建议用户将服务器中phpMyAdmin文件夹改成不常见的名称,以提高安全性。

经验总结

本文主要介绍了两个开源的图形化管理MariaDB工具,这两个工具各有特点,用户在具体使用时可以结合使用。其它还有一些管理MariaDB工具,比如Navicat for MySQL也很方便管理MariaDB,惟一不足的是需要用户购买,否则只能试用30天,但Navicat提供了一个更高级的功能,即数据或结构同步,方便了用户可以直接在两个数据库之间同步数据或结构。

猜你喜欢
图形化数据表备份
“备份”25年:邓清明圆梦
VSAT卫星通信备份技术研究
基于Arduino图形化编程的教学应用研究
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
创建vSphere 备份任务
基于列控工程数据表建立线路拓扑关系的研究
LKJ自动化测试系统图形化技术研究
旧瓶装新酒天宫二号从备份变实验室
图表