|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
欢迎大家来到仓酷云论坛!1.背景先容
MySQL是天下上最盛行的开源干系数据库。2008年,Sun收买MySQL。然后2010年,甲骨文又收买了Sun,因而MySQL落进了甲骨文(Oracle)手中。Oracle与开源社区干系的一向不太好,乃至MySQL也被弄成了社区版和企业版,不克不及收费贸易利用;MySQL企业版的新功效不公然源代码,如许让用户很不爽。MariaDB则没有这方面的成绩。与MySQL比拟,MariaDB的上风在于:
可收费贸易利用(MySQL则有社区版和企业版之分,拜Oracle所赐)
Maria存储引擎
PBXT存储引擎
XtraDB存储引擎
FederatedX存储引擎
更快的复制查询处置
线程池
运转速率更快
更多的扩大功效模块
撑持Unicode排序
因而我决意先在假造机上看看怎样由MySQL迁徙到MariaDB,固然难以意料的是,不晓得MichaelWidenius会不会在甚么时分又将MariaDB卖给哪家至公司。
本来MariaDB的计划初志之一就是完整兼容MySQL,包含API和客户端协定,使之能轻松成为MySQL的取代品,以是由MySQL迁徙到MariaDB基础上能够称之为“晋级”,就仿佛软件晋级版本一样。MariaDB的手艺文档上是如许写的:
假如是不异的基本版本(如5.5),能够间接卸载MySQL然后装置MariaDB,如许就能够用了。乃至不必要备份然后复原数据库。固然,保险起见,晋级前将一切的数据库都备份一下仍是十分有需要的,以防万一。
假如MariaDB的主版本高,在经由下面的卸载MySQL再装置MariaDB操纵以后,必要利用mysql_upgrade晋级一下。是的,乃至连下令行都与利用MySQL的时分一样。
一切本来的客户端和毗连器(PHP、Perl、Python、Java等)都不必要做任何改动就可以一般事情,由于MariaDB与MySQL利用的是不异的客户端协定,而且客户端库文件也是二进制兼容的。
2.迁徙操纵纪录(上面的3的***更好)
这个VPS装置的是CentOS,今朝版本是6.4,MySQL版本是5.5.31(利用了remi源),假造机的设置与此极端类似。刚入手下手不太懂得,实行了这个对照傻的操纵体例。
A.先设置MARIADB的装置源。
今朝MariaDB的主版本是5.5,我的CentOS是32位的,将上面的装置源设置保留为MariaDB.repo,上传到办事器的/etc/yum.repos.d文件夹:
[mariadb]name=MariaDBenable=1priority=3baseurl=http://yum.mariadb.org/5.5/centos6-x86gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck=1
个中priority=3是针对YUM的PRIORITIES优先级插件的。
B.卸载本来的MYSQL及相干包。
#yumremovemysql*
下面用*来婚配删除一切mysql数据包(包含因包依附而删除的其余包,如postfix)。由于间接装置的时分会呈现抵触,比方:
file/usr/share/mysql/ukrainian/errmsg.sysfrominstallofMariaDB-server-5.5.31-1.i686conflictswithfilefrompackagemysql-libs-5.5.32-1.el6.remi.i686
嗯,仿佛由于将php-mysql也给删除(实践上这个不应删除的),以是phpMyAdmin也由于依附干系而被删除,我没细心看。
以是最好不要用通配符*,而是选择性删除几个次要的,
#yumremovemysqlmysql-servermysql-libs
可是这个我没有再测试,由于前面有更好的***。
C.然后装置MARIADB及响应PHP扩大。
也是指定几个次要的装置包,剩下的让yum本人举行依附干系反省。
#yuminstallMariaDB-serverMariaDB-clientphp-mysql
大概不装置MariaDB-server而改成具有同步多主聚集特征(synchronousmulti-mastercluster)的MariaDBGaleraCluster:
#yuminstallMariaDB-Galera-serverMariaDB-clientgalera
这里对照弄笑的是,没注重后面把php-mysql给卸载了,了局运转数据库以后会见WordPress,了局遭受上面的毛病:
YourPHPinstallationappearstobemissingtheMySQLextensionwhichisrequiredbyWordPress.
D.完成,修补
不论版本是不是晋级了,实行一下数据库晋级指令总没有害处:
#mysql_upgrade-p
看看数据库版本是否是晋级了:
#mysql-uroot-p-eshowglobalvariableslike"version";Enterpassword:+---------------+----------------+|Variable_name|Value|+---------------+----------------+|version|5.5.31-MariaDB|+---------------+----------------+
将MariaDB到场随体系自启动列表,
#chkconfig--levels345mysqlon
嗯,之前MySQL的时分是mysqld,如今是mysql,就差了一个字母d。
启动它,
#servicemysqlstart
这个时分办事器上的网站应当已能够一般事情了,会见数据库没有成绩。
假如有需要,装置完MariaDB以后能够从头装置postfix。假如发明phpMyAdmin提醒无会见权限了,那就是被卸载了,必要从头装置和设置phpMyAdmin。
别的,由于之行进行了卸载操纵,以是本来的MySQL和phpMyAdmin的设置文件都被扫除了,也必要从头设置。出格是MySQL的设置文件/etc/my.cnf,由于MariaDB固然创立了一个my.cnf.d文件夹来存储本人的设置文件,可是它会起首加载my.cnf,且本来MySQL的设置的[mysqld]那一节的内容仍是无效的。
3.较好的晋级***
仍是在下面先容的体系设置下,先增加MariaDB装置源,然后间接实行体系晋级,
#yumupdate--skip-broken
MariaDB相干装置包会被装置,不必要的MySQL包将被卸载,而且晋级以后不必要对体系举行修补了。看看输入的后面一局部:
==============================================================================================================PackageArchVersionRepositorySize==============================================================================================================Installing:MariaDB-Galera-serveri6865.5.29-1mariadb19Mreplacingmysql.i6865.5.21-1.el6.remireplacingmysql-server.i6865.5.21-1.el6.remiMariaDB-serveri6865.5.31-1mariadb32Mreplacingmysql-server.i6865.5.21-1.el6.remiMariaDB-sharedi6865.5.31-1mariadb1.0Mreplacingmysql-libs.i6865.5.21-1.el6.remikerneli6862.6.32-358.11.1.el6updates24Mlibjpeg-turboi6861.2.1-1.el6base176kreplacinglibjpeg.i6866b-46.el6Updating:.........
到这里才感到到MariaDB的计划头脑谁人无缝替换MySQL不是噱头,而是实其实在的手艺。因而我也就不急着给VPS晋级到MariaDB了,归正过不了多久CentOS就会接纳MariaDB,到时分再天然而然地迁徙吧。
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们! |
|