Sunday 26 May 2013
  • Increase font size
  • Default font size
  • Decrease font size
  • default style
  • blue style
  • green style
  • red style
  • orange style
You are here: Home News Feeds Planet MySQL
 Name:   Email:  
Newsfeeds
Planet MySQL
Planet MySQL - http://www.planetmysql.org/

  • Installing Oracle VM Manager 3.2.x under Dom0 host
    Some of you know that I have published how to install Oracle VM Manager (OVMM) on a Dom0 host since Oracle released the Oracle VM 3. I have described why you possibly may want to do it in my very first post. Just want to mention that it should be used for sandbox configuration only. You can find the previous post on how to install 3.1.1 OVMM version under Dom0 here. This time I talk about 3.2.2 version. NOTE: At the time of writing ORACLE VM 3.2.3 SERVER (Patch 16410428) and ORACLE VM 3.2.3 MANAGER (Patch 16410417) became available. I didn’t have time to install the latest versions yet. However I do not expect that installation are significantly different from the versions I have used for this blog post. I will update this blog post if I find that there is something else you need to know in order to install the latest versions. Please feel free to ask questions or provide your hints under comments section of that post below. MySQL repository There is one significant difference in the OVMM 3.2.x version’s technology stack comparing to 3.1.x versions. From that version Oracle  uses MySQL instead of Oracle Express database for an OVMM repository by default. It made even easier to install OVMM under Dom0 host. There are still a few things you need to know about in order to get it working. This is how you do it. Pre install steps Install Oracle VM server release 3.2.2 (or latest OVS version available) Most answers to the installation questions are obvious and simple This time we don’t need to customize swap size as before Note that it will make your life much easier if you configure OVS network with an Internet access right from the beginning After you got OVS up and running change /etc/redhat-release file This will make OVMM installation work (MySQL part of it) cp -rp /etc/redhat-release ~/redhat-release.orig echo "Red Hat Enterprise Linux Server release 5.5 (Tikanga)" > /etc/redhat-release Configure Oracle Public Yum repository Use “Oracle Linux 5″ version Install additional RPMs yum install xz-devel yum install zip Installation steps  Install OVMM 3.2.1 (or latest release available) Copy the installation ISO file to the OVS file system Mount it as virtual CDROM Use “runInstaller.sh -n” to ignore some other prerequisites mount -o loop /u01/SOFTWARE/OracleVM-Manager-3.2.1-installer-OracleLinux.iso /mnt/cdrom /mnt/cdrom/runInstaller.sh -n  Upgrade OVMM to 3.2.2 version (or latest version available) Patch 16410417: ORACLE VM 3.2.2 MANAGER UPGRADE ISO RELEASE Follow the readme instructions Put an ISO file on an OVS filesystem and mount it the same way as in the previous step Install the update (are are 2 steps to be executed, see README.txt for the details) Post install steps Change /etc/redhat-release back cp -rp /etc/redhat-release.orig ~/redhat-release At this stage you are ready to access Oracle VM Manager Web interface. Enjoy, Yury

  • OurSQL Episode 141: Performance Enhancements
    This week we talk about server and status variables relating to the performance schema and the ps_helper tool. Ear Candy is an sql_mode bug, and At the Movies is a performance_schema and ps_helper webinar. Performance Schema Variables MySQL 5.5 performance schema variables MySQL 5.6 performance schema variables - many options are auto-sized SHOW GLOBAL VARIABLES LIKE 'performance_schema%'; read more

  • TokuDB vs Percona XtraDB using Tokutek’s MariaDB distribution
    Following are benchmark results comparing Tokutek TokuDB and Percona XtraDB at scale factor 10 on the Star Schema benchmark. I’m posting this on the Shard-Query blog because I am going to compare the performance of Shard-Query on the benchmark on these two engines. First, however, I think it is important to see how they perform in isolation without concurrency. Because I am going to be testing Shard-Query, I have chosen to partition the “fact” table (lineorder) by month. I’ve attached the full DDL at the end of the post as well as the queries again for reference. I want to note a few things about the results: First and foremost, TokuDB was configured to use quicklz compression (the default) and InnoDB compression was not used. No tuning of TokuDB was performed, which means it will use up to 50% of memory by default. Various InnoDB tuning options were set (see the end of the post) but the most important is that the innodb_buffer_pool_size which was set to 20G (all data fits in buffer pool for hot test). Size of data after loading (note this is the size ON DISK): TokuDB: 3.6GB InnoDB: 9.2GB I collected statistics on the tables with ANALYZE TABLE. I verified that the query plans were the same for both storage engines. Here are the results of the tests. Click a graph to zoom in: The tests were done on the following benchmark machine: Intel i7-970 (12 virtual cores) 24GB DDR3-1600MHz LSI 9211-8i SATA III HBA Two Intel 520 120MB SSD and one OCZ Vertex 3 120GB SSD in Software RAID 0. Software: I used the MariaDB 5.5.30 distribution from Tokutek: version 5.5.30-tokudb-7.0.1-MariaDB. my.cnf: [mysqld] datadir=/data/datadirs/mariadb basedir=/data/mariadb socket=/var/lib/mysql/mysql.sock user=mysql innodb_buffer_pool_size=20G innodb_log_file_size=4G innodb_file_per_table innodb_file_format=barracuda innodb_buffer_pool_instances=6 innodb_write_io_threads=12 innodb_read_io_threads=12 innodb_flush_method=O_DIRECT innodb_io_capacity=10000 innodb_flush_log_at_trx_commit=2 innodb_log_buffer_size=32M read_buffer_size=2M key_buffer_size=32M innodb_fast_checksum [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid DDL: CREATE TABLE `lineorder` ( `LO_OrderKey` int(10) unsigned NOT NULL, `LO_LineNumber` tinyint(4) NOT NULL, `LO_CustKey` mediumint(9) NOT NULL, `LO_PartKey` mediumint(9) NOT NULL, `LO_SuppKey` mediumint(9) NOT NULL, `LO_OrderDateKey` int(11) NOT NULL, `LO_OrderPriority` varchar(15) DEFAULT NULL, `LO_ShipPriority` char(1) DEFAULT NULL, `LO_Quantity` tinyint(4) DEFAULT NULL, `LO_ExtendedPrice` decimal(10,0) DEFAULT NULL, `LO_OrdTotalPrice` decimal(10,0) DEFAULT NULL, `LO_Discount` decimal(10,0) DEFAULT NULL, `LO_Revenue` decimal(10,0) DEFAULT NULL, `LO_SupplyCost` decimal(10,0) DEFAULT NULL, `LO_Tax` tinyint(4) DEFAULT NULL, `LO_CommitDateKey` int(11) NOT NULL, `LO_ShipMode` varchar(10) DEFAULT NULL, KEY `LO_CustKey` (`LO_CustKey`), KEY `LO_OrderDateKey` (`LO_OrderDateKey`), KEY `LO_SuppKey` (`LO_SuppKey`), KEY `LO_PartKey` (`LO_PartKey`) ) ENGINE=TokuDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (LO_OrderDateKey) (PARTITION p1992_01 VALUES LESS THAN (19920131) ENGINE = TokuDB, PARTITION p1992_02 VALUES LESS THAN (19920231) ENGINE = TokuDB, PARTITION p1992_03 VALUES LESS THAN (19920331) ENGINE = TokuDB, PARTITION p1992_04 VALUES LESS THAN (19920431) ENGINE = TokuDB, PARTITION p1992_05 VALUES LESS THAN (19920531) ENGINE = TokuDB, PARTITION p1992_06 VALUES LESS THAN (19920631) ENGINE = TokuDB, PARTITION p1992_07 VALUES LESS THAN (19920731) ENGINE = TokuDB, PARTITION p1992_08 VALUES LESS THAN (19920831) ENGINE = TokuDB, PARTITION p1992_09 VALUES LESS THAN (19920931) ENGINE = TokuDB, PARTITION p1992_10 VALUES LESS THAN (19921031) ENGINE = TokuDB, PARTITION p1992_11 VALUES LESS THAN (19921131) ENGINE = TokuDB, PARTITION p1992_12 VALUES LESS THAN (19921231) ENGINE = TokuDB, PARTITION p1993_01 VALUES LESS THAN (19930131) ENGINE = TokuDB, PARTITION p1993_02 VALUES LESS THAN (19930231) ENGINE = TokuDB, PARTITION p1993_03 VALUES LESS THAN (19930331) ENGINE = TokuDB, PARTITION p1993_04 VALUES LESS THAN (19930431) ENGINE = TokuDB, PARTITION p1993_05 VALUES LESS THAN (19930531) ENGINE = TokuDB, PARTITION p1993_06 VALUES LESS THAN (19930631) ENGINE = TokuDB, PARTITION p1993_07 VALUES LESS THAN (19930731) ENGINE = TokuDB, PARTITION p1993_08 VALUES LESS THAN (19930831) ENGINE = TokuDB, PARTITION p1993_09 VALUES LESS THAN (19930931) ENGINE = TokuDB, PARTITION p1993_10 VALUES LESS THAN (19931031) ENGINE = TokuDB, PARTITION p1993_11 VALUES LESS THAN (19931131) ENGINE = TokuDB, PARTITION p1993_12 VALUES LESS THAN (19931231) ENGINE = TokuDB, PARTITION p1994_01 VALUES LESS THAN (19940131) ENGINE = TokuDB, PARTITION p1994_02 VALUES LESS THAN (19940231) ENGINE = TokuDB, PARTITION p1994_03 VALUES LESS THAN (19940331) ENGINE = TokuDB, PARTITION p1994_04 VALUES LESS THAN (19940431) ENGINE = TokuDB, PARTITION p1994_05 VALUES LESS THAN (19940531) ENGINE = TokuDB, PARTITION p1994_06 VALUES LESS THAN (19940631) ENGINE = TokuDB, PARTITION p1994_07 VALUES LESS THAN (19940731) ENGINE = TokuDB, PARTITION p1994_08 VALUES LESS THAN (19940831) ENGINE = TokuDB, PARTITION p1994_09 VALUES LESS THAN (19940931) ENGINE = TokuDB, PARTITION p1994_10 VALUES LESS THAN (19941031) ENGINE = TokuDB, PARTITION p1994_11 VALUES LESS THAN (19941131) ENGINE = TokuDB, PARTITION p1994_12 VALUES LESS THAN (19941231) ENGINE = TokuDB, PARTITION p1995_01 VALUES LESS THAN (19950131) ENGINE = TokuDB, PARTITION p1995_02 VALUES LESS THAN (19950231) ENGINE = TokuDB, PARTITION p1995_03 VALUES LESS THAN (19950331) ENGINE = TokuDB, PARTITION p1995_04 VALUES LESS THAN (19950431) ENGINE = TokuDB, PARTITION p1995_05 VALUES LESS THAN (19950531) ENGINE = TokuDB, PARTITION p1995_06 VALUES LESS THAN (19950631) ENGINE = TokuDB, PARTITION p1995_07 VALUES LESS THAN (19950731) ENGINE = TokuDB, PARTITION p1995_08 VALUES LESS THAN (19950831) ENGINE = TokuDB, PARTITION p1995_09 VALUES LESS THAN (19950931) ENGINE = TokuDB, PARTITION p1995_10 VALUES LESS THAN (19951031) ENGINE = TokuDB, PARTITION p1995_11 VALUES LESS THAN (19951131) ENGINE = TokuDB, PARTITION p1995_12 VALUES LESS THAN (19951231) ENGINE = TokuDB, PARTITION p1996_01 VALUES LESS THAN (19960131) ENGINE = TokuDB, PARTITION p1996_02 VALUES LESS THAN (19960231) ENGINE = TokuDB, PARTITION p1996_03 VALUES LESS THAN (19960331) ENGINE = TokuDB, PARTITION p1996_04 VALUES LESS THAN (19960431) ENGINE = TokuDB, PARTITION p1996_05 VALUES LESS THAN (19960531) ENGINE = TokuDB, PARTITION p1996_06 VALUES LESS THAN (19960631) ENGINE = TokuDB, PARTITION p1996_07 VALUES LESS THAN (19960731) ENGINE = TokuDB, PARTITION p1996_08 VALUES LESS THAN (19960831) ENGINE = TokuDB, PARTITION p1996_09 VALUES LESS THAN (19960931) ENGINE = TokuDB, PARTITION p1996_10 VALUES LESS THAN (19961031) ENGINE = TokuDB, PARTITION p1996_11 VALUES LESS THAN (19961131) ENGINE = TokuDB, PARTITION p1996_12 VALUES LESS THAN (19961231) ENGINE = TokuDB, PARTITION p1997_01 VALUES LESS THAN (19970131) ENGINE = TokuDB, PARTITION p1997_02 VALUES LESS THAN (19970231) ENGINE = TokuDB, PARTITION p1997_03 VALUES LESS THAN (19970331) ENGINE = TokuDB, PARTITION p1997_04 VALUES LESS THAN (19970431) ENGINE = TokuDB, PARTITION p1997_05 VALUES LESS THAN (19970531) ENGINE = TokuDB, PARTITION p1997_06 VALUES LESS THAN (19970631) ENGINE = TokuDB, PARTITION p1997_07 VALUES LESS THAN (19970731) ENGINE = TokuDB, PARTITION p1997_08 VALUES LESS THAN (19970831) ENGINE = TokuDB, PARTITION p1997_09 VALUES LESS THAN (19970931) ENGINE = TokuDB, PARTITION p1997_10 VALUES LESS THAN (19971031) ENGINE = TokuDB, PARTITION p1997_11 VALUES LESS THAN (19971131) ENGINE = TokuDB, PARTITION p1997_12 VALUES LESS THAN (19971231) ENGINE = TokuDB, PARTITION p1998_01 VALUES LESS THAN (19980131) ENGINE = TokuDB, PARTITION p1998_02 VALUES LESS THAN (19980231) ENGINE = TokuDB, PARTITION p1998_03 VALUES LESS THAN (19980331) ENGINE = TokuDB, PARTITION p1998_04 VALUES LESS THAN (19980431) ENGINE = TokuDB, PARTITION p1998_05 VALUES LESS THAN (19980531) ENGINE = TokuDB, PARTITION p1998_06 VALUES LESS THAN (19980631) ENGINE = TokuDB, PARTITION p1998_07 VALUES LESS THAN (19980731) ENGINE = TokuDB, PARTITION p1998_08 VALUES LESS THAN (19980831) ENGINE = TokuDB, PARTITION p1998_09 VALUES LESS THAN (19980931) ENGINE = TokuDB, PARTITION p1998_10 VALUES LESS THAN (19981031) ENGINE = TokuDB, PARTITION p1998_11 VALUES LESS THAN (19981131) ENGINE = TokuDB, PARTITION p1998_12 VALUES LESS THAN (19981231) ENGINE = TokuDB) */; CREATE TABLE `customer` ( `C_CustomerKey` mediumint(9) NOT NULL, `C_Name` varchar(25) DEFAULT NULL, `C_Address` varchar(25) DEFAULT NULL, `C_City` varchar(10) DEFAULT NULL, `C_Nation` varchar(15) DEFAULT NULL, `C_Region` varchar(12) DEFAULT NULL, `C_Phone` varchar(15) DEFAULT NULL, `C_MktSegment` varchar(10) DEFAULT NULL, PRIMARY KEY (`C_CustomerKey`), KEY `C_Name` (`C_Name`), KEY `C_City` (`C_City`), KEY `C_Region` (`C_Region`), KEY `C_Phone` (`C_Phone`), KEY `C_MktSegment` (`C_MktSegment`) ) ENGINE=TokuDB DEFAULT CHARSET=latin1; CREATE TABLE `part` ( `P_PartKey` mediumint(9) NOT NULL, `P_Name` varchar(25) DEFAULT NULL, `P_MFGR` varchar(10) DEFAULT NULL, `P_Category` varchar(10) DEFAULT NULL, `P_Brand` varchar(15) DEFAULT NULL, `P_Colour` varchar(15) DEFAULT NULL, `P_Type` varchar(25) DEFAULT NULL, `P_Size` tinyint(4) DEFAULT NULL, `P_Container` char(10) DEFAULT NULL, PRIMARY KEY (`P_PartKey`), KEY `P_Name` (`P_Name`), KEY `P_MFGR` (`P_MFGR`), KEY `P_Category` (`P_Category`), KEY `P_Brand` (`P_Brand`) ) ENGINE=TokuDB DEFAULT CHARSET=latin1; CREATE TABLE `supplier` ( `S_SuppKey` smallint(6) NOT NULL, `S_Name` char(25) DEFAULT NULL, `S_Address` varchar(25) DEFAULT NULL, `S_City` char(10) DEFAULT NULL, `S_Nation` char(15) DEFAULT NULL, `S_Region` char(12) DEFAULT NULL, `S_Phone` char(15) DEFAULT NULL, PRIMARY KEY (`S_SuppKey`), KEY `S_City` (`S_City`), KEY `S_Name` (`S_Name`), KEY `S_Phone` (`S_Phone`) ) ENGINE=TokuDB DEFAULT CHARSET=latin1; CREATE TABLE `dim_date` ( `D_DateKey` int(11) NOT NULL, `D_Date` char(18) DEFAULT NULL, `D_DayOfWeek` char(9) DEFAULT NULL, `D_Month` char(9) DEFAULT NULL, `D_Year` smallint(6) DEFAULT NULL, `D_YearMonthNum` int(11) DEFAULT NULL, `D_YearMonth` char(7) DEFAULT NULL, `D_DayNumInWeek` tinyint(4) DEFAULT NULL, `D_DayNumInMonth` tinyint(4) DEFAULT NULL, `D_DayNumInYear` smallint(6) DEFAULT NULL, `D_MonthNumInYear` tinyint(4) DEFAULT NULL, `D_WeekNumInYear` tinyint(4) DEFAULT NULL, `D_SellingSeason` char(12) DEFAULT NULL, `D_LastDayInWeekFl` tinyint(4) DEFAULT NULL, `D_LastDayInMonthFl` tinyint(4) DEFAULT NULL, `D_HolidayFl` tinyint(4) DEFAULT NULL, `D_WeekDayFl` tinyint(4) DEFAULT NULL, PRIMARY KEY (`D_DateKey`), KEY `D_Year` (`D_Year`,`D_DayNumInYear`), KEY `D_YearMonth` (`D_YearMonth`), KEY `D_Year_2` (`D_Year`,`D_WeekNumInYear`), KEY `D_Year_3` (`D_Year`,`D_WeekNumInYear`) ) ENGINE=TokuDB DEFAULT CHARSET=latin1; Queries: -- Q1.1 select sum(lo_extendedprice*lo_discount) as revenue from lineorder join dim_date on lo_orderdatekey = d_datekey where d_year = 1993 and lo_discount between 1 and 3 and lo_quantity < 25; -- Q1.2 select sum(lo_extendedprice*lo_discount) as revenue from lineorder join dim_date on lo_orderdatekey = d_datekey where d_yearmonth = 199401 and lo_discount between 4 and 6 and lo_quantity between 26 and 35; -- Q1.3 select sum(lo_extendedprice*lo_discount) as revenue from lineorder join dim_date on lo_orderdatekey = d_datekey where d_weeknuminyear = 6 and d_year = 1994 and lo_discount between 5 and 7 and lo_quantity between 26 and 35; -- Q2.1 select sum(lo_revenue), d_year, p_brand from lineorder join dim_date on lo_orderdatekey = d_datekey join part on lo_partkey = p_partkey join supplier on lo_suppkey = s_suppkey where p_category = 'MFGR#12' and s_region = 'AMERICA' group by d_year, p_brand order by d_year, p_brand; -- Q2.2 select sum(lo_revenue), d_year, p_brand from lineorder join dim_date on lo_orderdatekey = d_datekey join part on lo_partkey = p_partkey join supplier on lo_suppkey = s_suppkey where p_brand between 'MFGR#2221' and 'MFGR#2228' and s_region = 'ASIA' group by d_year, p_brand order by d_year, p_brand; -- Q2.3 select sum(lo_revenue), d_year, p_brand from lineorder join dim_date on lo_orderdatekey = d_datekey join part on lo_partkey = p_partkey join supplier on lo_suppkey = s_suppkey where p_brand= 'MFGR#2239' and s_region = 'EUROPE' group by d_year, p_brand order by d_year, p_brand; -- Q3.1 select c_nation, s_nation, d_year, sum(lo_revenue) as revenue from customer join lineorder on lo_custkey = c_customerkey join supplier on lo_suppkey = s_suppkey join dim_date on lo_orderdatekey = d_datekey where c_region = 'ASIA' and s_region = 'ASIA' and d_year >= 1992 and d_year <= 1997 group by c_nation, s_nation, d_year order by d_year asc, revenue desc; -- Q3.2 select c_city, s_city, d_year, sum(lo_revenue) as revenue from customer join lineorder on lo_custkey = c_customerkey join supplier on lo_suppkey = s_suppkey join dim_date on lo_orderdatekey = d_datekey where c_nation = 'UNITED STATES' and s_nation = 'UNITED STATES' and d_year >= 1992 and d_year <= 1997 group by c_city, s_city, d_year order by d_year asc, revenue desc; -- Q3.3 select c_city, s_city, d_year, sum(lo_revenue) as revenue from customer join lineorder on lo_custkey = c_customerkey join supplier on lo_suppkey = s_suppkey join dim_date on lo_orderdatekey = d_datekey where (c_city='UNITED KI1' or c_city='UNITED KI5') and (s_city='UNITED KI1' or s_city='UNITED KI5') and d_year >= 1992 and d_year <= 1997 group by c_city, s_city, d_year order by d_year asc, revenue desc; -- Q3.4 select c_city, s_city, d_year, sum(lo_revenue) as revenue from customer join lineorder on lo_custkey = c_customerkey join supplier on lo_suppkey = s_suppkey join dim_date on lo_orderdatekey = d_datekey where (c_city='UNITED KI1' or c_city='UNITED KI5') and (s_city='UNITED KI1' or s_city='UNITED KI5') and d_yearmonth = 'Dec1997' group by c_city, s_city, d_year order by d_year asc, revenue desc; -- Q4.1 select d_year, c_nation, sum(lo_revenue - lo_supplycost) as profit from lineorder join dim_date on lo_orderdatekey = d_datekey join customer on lo_custkey = c_customerkey join supplier on lo_suppkey = s_suppkey join part on lo_partkey = p_partkey where c_region = 'AMERICA' and s_region = 'AMERICA' and (p_mfgr = 'MFGR#1' or p_mfgr = 'MFGR#2') group by d_year, c_nation order by d_year, c_nation; -- Q4.2 select d_year, s_nation, p_category, sum(lo_revenue - lo_supplycost) as profit from lineorder join dim_date on lo_orderdatekey = d_datekey join customer on lo_custkey = c_customerkey join supplier on lo_suppkey = s_suppkey join part on lo_partkey = p_partkey where c_region = 'AMERICA' and s_region = 'AMERICA' and (d_year = 1997 or d_year = 1998) and (p_mfgr = 'MFGR#1' or p_mfgr = 'MFGR#2') group by d_year, s_nation, p_category order by d_year, s_nation, p_category; -- Q4.3 select d_year, s_city, p_brand, sum(lo_revenue - lo_supplycost) as profit from lineorder join dim_date on lo_orderdatekey = d_datekey join customer on lo_custkey = c_customerkey join supplier on lo_suppkey = s_suppkey join part on lo_partkey = p_partkey where s_nation = 'UNITED STATES' and (d_year = 1997 or d_year = 1998) and p_category = 'MFGR#14' group by d_year, s_city, p_brand order by d_year, s_city, p_brand;

  • Holland Backup Manager
    Part 1 - Installing Holland Backup ManagerI spoke at Percona Live Conference and Expo 2013 about backups. Part of the talk focussed on the backup products in the ecosystem that will help you make a backup of your MySQL data. This follow-up article touches on one of the frameworks from my talk, the Holland Backup Manager. I was able to have a chat with some of the guys on the Rackspace booth about Holland and had some questions regarding features answered. Holland is a backup framework focussing mostly on MySQL backups but it is pluggable so you can write add backup providers to extend it to your own needs. Using the framework you're able to configure and deploy backup jobs of varying scope to multiple machines. The framework which was originally developed at Rackspace, currently supports mysqldump, lvm, xtrabackup and pgdump (Postgres) also sqllite. The latest version is number 1.0.8 which brings a few nice new features with it. I'll talk about the most significant of these in the third of the series. I want to show some installation, configuration and then use of the framework. I'm a fan of this project and if you've got the need to standardise whilst being flexible then Holland could be the solution you've been looking for. Firstly, head over to github to grab the files. https://github.com/holland-backup/holland I've been using vagrant to provide a quick VM environment. This OS I'm using here is a CentOS 6.4 64bit host running in Virtualbox. All dependencies for Holland should be available on the popular package managers but if you're using something other then debian (apt-get) or redhat based (yum) then you might require some research elsewhere to meet the requirements of Holland. Download the zip archive from github (the extension was lost in wget but it is a .zip file) [vagrant@node1 ~]$ wget https://github.com/holland-backup/holland/archive/master.zip ... Saving to: `master' 100%[==================================================>] 602,186 572K/s in 1.0s (572 KB/s) - `master' saved [602186/602186] So then proceed to unzip your archive [vagrant@node1 ~]$ unzip ./master Archive: ./master 832eaa6a0fff56a3009cdde22eda4746203c97f6 creating: holland-master/ inflating: holland-master/CHANGES.txt inflating: holland-master/INSTALL inflating: holland-master/LICENSE inflating: holland-master/README creating: holland-master/config/ inflating: holland-master/config/README... ProTip: Take some time to go through the various Holland directories. Throughout the directories there README and INSTALL files that will explain more about the accompanying files. [vagrant@node1 holland-master]$ ls -ltotal 56-rw-rw-r-- 1 vagrant vagrant 7064 May 13 17:45 CHANGES.txtdrwxrwxr-x 4 vagrant vagrant 4096 May 13 17:45 configdrwxrwxr-x 3 vagrant vagrant 4096 May 13 17:45 contribdrwxrwxr-x 4 vagrant vagrant 4096 May 13 17:45 docsdrwxrwxr-x 7 vagrant vagrant 4096 May 13 17:45 holland-rw-rw-r-- 1 vagrant vagrant 1782 May 13 17:45 INSTALL-rw-rw-r-- 1 vagrant vagrant 3290 May 13 17:45 LICENSEdrwxrwxr-x 13 vagrant vagrant 4096 May 13 17:45 plugins-rw-rw-r-- 1 vagrant vagrant 514 May 13 17:45 README-rw-rw-r-- 1 vagrant vagrant 62 May 13 17:45 setup.cfg-rw-rw-r-- 1 vagrant vagrant 1441 May 13 17:45 setup.pydrwxrwxr-x 2 vagrant vagrant 4096 May 13 17:45 tests-rwxr-xr-x 1 vagrant vagrant 1782 May 13 17:45 tomsay.pyBefore going any further lets take care of the dependencies. They're easily met using yum/apt or if you want to compile them yourself then go right ahead;  - python-setuptools  - mysqldb (python's mysql connector)Now, lets take care of some directories that need to exists. These are configurable later, but for simplicity sake we'll roll forward with the Holland defaults. Your environment is likely to be different especially if you're mounting remote storage to store the backup files you make. [vagrant@node1 config]$ sudo mkdir -p /etc/holland [vagrant@node1 plugins]$ sudo mkdir -p /var/log/holland [vagrant@node1 plugins]$ sudo mkdir -p /var/spool/holland Now the directories we've created will only be writable to root since we needed elevated privileges to make them. You might choose to chmod the directories if you're going to use a specific backup user to run your backup jobs. Now we're ready to run the python setup file from the root of the unarchived directory [vagrant@node1 holland-master]$ sudo python ./setup.py installrunning installrunning bdist_eggrunning egg_infocreating holland.egg-infowriting holland.egg-info/PKG-INFO...Installing holland script to /usr/binInstalled /usr/lib/python2.6/site-packages/holland-1.0.8-py2.6.eggProcessing dependencies for holland==1.0.8Finished processing dependencies for holland==1.0.8Without any errors in the previous output it's safe to assume we're installed. [vagrant@node1 config]$ holland --versionHolland Backup v1.0.8Copyright (c) 2008-2010 Rackspace US, Inc.More info available at http://hollandbackup.orgLets review what is in the plugin directory. These are the providers. Some are core libraries for the use of particular providers. There's also an example and random directory which we will reference in the next article on config. [vagrant@node1 plugins]$ ls -w1ACTIVEholland.backup.exampleholland.backup.mysqldumpholland.backup.mysqlhotcopyholland.backup.mysql_lvmholland.backup.pgdumpholland.backup.randomholland.backup.sqliteholland.backup.xtrabackupholland.lib.commonholland.lib.lvmholland.lib.mysqlREADME There are a couple of essential installs we need to take care of before we're ready to tackle the plugins for the backup tools. These are the holland.lib.common & holland.lib.mysql. For each you need to run the setup.py file from within the directories. The output should look something like the following. [vagrant@node1]$ cd holland.lib.common/[vagrant@node1 holland.lib.common]$ sudo python setup.py installrunning install...Adding holland.lib.common 1.0.8dev to easy-install.pth fileInstalled /usr/lib/python2.6/site-packages/holland.lib.common-1.0.8dev-py2.6.eggProcessing dependencies for holland.lib.common==1.0.8devFinished processing dependencies for holland.lib.common==1.0.8dev[vagrant@node1 holland.lib.common]$ cd ../holland.lib.mysql/[vagrant@node1 holland.lib.mysql]$ sudo python setup.py installrunning install...Adding holland.lib.mysql 1.0.8dev to easy-install.pth fileInstalled /usr/lib/python2.6/site-packages/holland.lib.mysql-1.0.8dev-py2.6.eggProcessing dependencies for holland.lib.mysql==1.0.8devFinished processing dependencies for holland.lib.mysql==1.0.8devNow, I'm mainly interested in mysqldump and xtrabackup but you might want to use the mysql_lvm. I don't think there are many takers for mysqlhotcopy these days. The same steps apply for each provider you want to install on each machine. [vagrant@node1 holland.backup.mysqldump]$ sudo python setup.py install running install ... Adding holland.backup.mysqldump 1.0.8dev to easy-install.pth file Installed /usr/lib/python2.6/site-packages/holland.backup.mysqldump-1.0.8dev-py2.6.egg Processing dependencies for holland.backup.mysqldump==1.0.8dev Finished processing dependencies for holland.backup.mysqldump==1.0.8dev and then finally from the xtrabackup directory; [vagrant@node1 plugins]$ cd holland.backup.xtrabackup/ [vagrant@node1 holland.backup.xtrabackup]$ sudo python setup.py install running install ... Adding holland.backup.xtrabackup 1.0.8dev to easy-install.pth file Installed /usr/lib/python2.6/site-packages/holland.backup.xtrabackup-1.0.8dev-py2.6.egg Processing dependencies for holland.backup.xtrabackup==1.0.8dev Finished processing dependencies for holland.backup.xtrabackup==1.0.8dev So in summary it's the library files for the plugins;  - holland.lib.common  - holland.lib.mysql  - holland.lib.lvm (depending if you're going to use it)In part two I'll be giving an overview of the config files and then part three will be some cookbook-like config for the various providers.

  • Percona Server for MySQL 5.5.31-30.3 now available
    Percona Server for MySQL version 5.5.31-30.3Percona is glad to announce the release of Percona Server for MySQL 5.5.31-30.3 on May 24, 2013 (Downloads are available here and from the Percona Software Repositories). Based on MySQL 5.5.31, including all the bug fixes in it, Percona Server 5.5.31-30.3 is now the current stable release in the 5.5 series. All of Percona‘s software is open-source and free, all the details of the release can be found in the 5.5.31-30.3 milestone at Launchpad.New Features:Percona Server has ported the Atomic write support for Fusion-io devices patch from MariaDB. This feature adds atomic write support for directFS filesystem on Fusion-io devices. This feature implementation is considered BETA quality.Percona Server has introduced innodb_read_views_memory and innodb_descriptors_memory status variables in the Extended Show Engine InnoDB Status to improve InnoDB memory usage diagnostics.Bugs Fixed:Fix for bug #1131187 introduced a regression that could cause a memory leak if query cache was used together with InnoDB. Bug fixed #1170103.Fixed the RPM packaging regression that was introduced with the fix for bug #710799. This regression caused mysql schema to be missing after the clean RPM installation. Bug fixed #1174426.Fixed the Percona-Server-shared-55 and Percona-XtraDB-Cluster-shared RPM package dependences. Bug fixed #1050654.Fixed the upstream bug #68999 which caused compiling Percona Server to fail on CentOS 5 and Debian squeeze due to older OpenSSL version. Bug fixed #1183610.If a slave was running with its binary log enabled and then restarted with the binary log disabled, Crash-Resistant Replication could overwrite the relay log info log with an incorrect position. Bug fixed #1092593.Fixed the CVE-2012-5615 vulnerability. This vulnerability would allow remote attacker to detect what user accounts exist on the server. This bug fix comes originally from MariaDB (see MDEV-3909). Bug fixed #1171941.Fixed the CVE-2012-5627 vulnerability, where an unprivileged MySQL account owner could perform brute-force password guessing attack on other accounts efficiently. This bug fix comes originally from MariaDB (see MDEV-3915). Bug fixed #1172090.mysql_set_permission was failing on Debian due to missing libdbd-mysql-perl package. Fixed by adding the package dependency. Bug fixed #1003776.Rebuilding Debian source package would fail because dpatch and automake were missing from build-dep. Bug fixed #1023575 (Stephan Adig).Backported the fix for the upstream bug #65077 from the MySQL 5.6 version, which removed MyISAM internal temporary table mutex contention. Bug fixed #1179978.Release notes for Percona Server for MySQL 5.5.31-30.3 are available in our online documentation. Bugs can be reported on the launchpad bug tracker.The post Percona Server for MySQL 5.5.31-30.3 now available appeared first on MySQL Performance Blog.

Example advert3

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.

Example advert4

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.