Home |  MySQL Buzz |  FAQ |  Feeds |  Submit your blog feed |  Feedback |  Archive |  Aggregate feed RSS 2.0 English Deutsch Español Français Italiano 日本語 Русский Português 中文
Showing entries 1 to 30 of 29661 Next 30 Older Entries
Holland Backup Manager
+0 Vote Up -0Vote Down

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


  [Read more...]
Percona Server for MySQL 5.5.31-30.3 now available
+0 Vote Up -0Vote Down

Percona Server for MySQL version 5.5.31-30.3

Percona 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

  [Read more...]
Tungsten University: Load a Vertica data warehouse with MySQL data
+0 Vote Up -0Vote Down
Continuent Tungsten offers real-time replication from MySQL to a variety of DBMS types including Vertica. In this Tungsten University webcast we will show you the details of setting up MySQL-to-Vertica replication, including the following topics: Introduction to Continuent Tungsten features for data warehouse loading Installation for MySQL to Vertica replication Best practices for applications:
Log Buffer #321, A Carnival of the Vanities for DBAs
+0 Vote Up -0Vote Down

Can’t find what you want or need? Do you have a tip or trick to share? Do you want to lament over a technical woe? If yes then blog and send it to us for the Log Buffer :), just like this Log Buffer contains tips, tricks and woes.
Oracle:

Fahd Mirza and Tanel Poder throw spotlight on the v$cell_thread_history view with respect to the Exadata.

Mark W. Farnham‘s rightsizing goes on with a roar, as he declares that


  [Read more...]
ZFS on Linux and MySQL
+0 Vote Up -0Vote Down

I am currently working with a large customer and I am involved with servers located in two data centers, one with Solaris servers and the other one with Linux servers. The Solaris side is cleverly setup using zones and ZFS and this provides a very low virtualization overhead. I learned quite a lot about these technologies while looking at this, thanks to Corey Mosher.

On the Linux side, we recently deployed a pair on servers for backup purpose, boxes with 64 300GB SAS drives, 3 raid controllers and 192GB of RAM. These servers will run a few slave instances each of production database servers and will perform the backups.  The write load is not

  [Read more...]
MySQL Applier For Hadoop: Implementation
Employee +4 Vote Up -0Vote Down

This is a follow up post, describing the implementation details of Hadoop Applier, and steps to configure and install it. Hadoop Applier integrates MySQL with Hadoop providing the real-time replication of INSERTs to HDFS, and hence can be consumed by the data stores working on top of Hadoop. You can know more about the design rationale and per-requisites in the previous post.

Design and Implementation:

Hadoop Applier replicates rows inserted into a table in MySQL to the Hadoop Distributed File System(HDFS). It uses an API provided by libhdfs, a C library to manipulate files in HDFS.

The library comes pre-compiled with Hadoop distributions.It






  [Read more...]
High Availability for Drupal Part 1 - Investigating the Issues
+1 Vote Up -0Vote Down

Drupal is one of the most popular Content Management Systems (CMS) and is used increasingly in high-visibility sites, such as www.whitehouse.gov. This has brought a lot of attention on how to get the most performance out of Drupal and how to improve the availability of such sites. In this blog series I'll take you through the basics and on through to designing your own HA Drupal site.

But first, we need to understand what the challenges are in getting Drupal (or indeed any CMS) working on multiple servers in such a way as to ensure high availability and performance.

read more

MySQL Book in Chinese
+0 Vote Up -0Vote Down

One of my old students and lab assistants stopped by to show his fiancée the BYU-Idaho campus. It was a long trip since he lives in Macao, China.

He kindly brought me a copy of my Oracle Database 11g and MySQL 5.6 Developer Handbook in simplified Chinese. He’s holding it in the photo.

That makes three books translated into Chinese, which made my day. It’ll be interesting to see if the new

  [Read more...]
An old note on the Storage Engine API
+1 Vote Up -0Vote Down

Whenever I stick my head into the MySQL storage engine API, I’m reminded of a MySQL User Conference from several years ago now.

Specifically, I’m reminded of a slide from an early talk at the MySQL User Conference by Paul McCullagh describing developing PBXT. For “How to write a Storage Engine for MySQL”, it went something like this:

  • Develop basic INSERT (write_row) support – INSERT INTO t1 VALUES (42)
  • Develop full table scan (rnd_init, rnd_next, rnd_end)  - SELECT * from t1
  • If you’re sane, stop here.
  • A lot of people stop at step 3. It’s a really good place to stop too. It avoids most of the tricky parts that are unexpected, undocumented and unlogical (yes, I’m inventing words here).

    Non-Deterministic Query in Replication Stream
    +0 Vote Up -0Vote Down

    You might find a warning like the below in your error log:

    130522 17:54:18 [Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statements writing to a table with an auto-increment column after selecting from another table are unsafe because the order in which rows are retrieved determines what (if any) rows will be written. This order cannot be predicted and may differ on master and the slave.
    Statement: INSERT INTO tbl2 SELECT * FROM tbl1 WHERE col IN (417,523)

    What do MariaDB and MySQL mean with this warning? The server can’t guarantee that this exact query, with STATEMENT based replication, will always yield identical results on the slave.

    Does that mean that you have to use ROW based (or MIXED) replication? Possibly, but not


      [Read more...]
    Zend 6 & Timezones
    +0 Vote Up -0Vote Down

    Just went through all my PHP testing against a fresh instance of Oracle with Zend Server Community Edition 6, and found these warnings, guess that’s pretty clean for the Oracle part of the installation. I didn’t notice it before because generally I do most of my PHP development against a MySQL database. I should have been configuring the php.ini file routinely, as qualified in this PHP forum discussion.

    Warning: oci_set_client_info(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your
      [Read more...]
    MariaDB 5.5.31 Now Available
    +1 Vote Up -0Vote Down

    The MariaDB project is pleased to announce the immediate availability of the MariaDB 5.5.31. This is a Stable (GA) release. See the Release Notes and Changelog for detailed information on this release and the What is MariaDB 5.5? page in the AskMonty Knowledgebase for general information about the MariaDB 5.5 series.

    Download MariaDB 5.5.31

    Release Notes Changelog

      [Read more...]
    Experiences with the McAfee MySQL Audit Plugin
    +1 Vote Up -0Vote Down

    I recently had to do some customer work involving the McAfee MySQL Audit Plugin and would like to share my experience in this post.

    Auditing user activity in MySQL  has traditionally been challenging. Most data can be obtained from the slow or general log, but this involves a lot of data you don’t need too, and isn’t flexible at all. The specific problem of logging failed connection attempts has been discussed on a previous post in our blog.

    Starting with 5.1, the new plugin API gives us more flexibility by allowing users to extend the server’s functionality with their own code, and this is what the McAffee plugin does.

      [Read more...]
    mycheckpoint revision 231 released
    +1 Vote Up -0Vote Down

    A new release for mycheckpoint: lightweight, SQL oriented MySQL monitoring solution.

    If you're unfamiliar with mycheckpoint, well, the one minute sales pitch is: it's a free and open source monitoring tool for MySQL, which is extremely easy to install and execute, and which includes custom queries, alerts (via emails), and out of the box HTTP server and

      [Read more...]
    MySQL at DrupalCamp, Goteborg - Sweden
    Employee_Team +0 Vote Up -0Vote Down

    DrupalCamp Conference is hold in Göteborg, Sweden on May 25, 2013.

    MySQL is part of this show and I would like to invite you to our session on "Scalability and Availability with MySQL Replication" given by Sven Sandberg on Saturday-May 25, 2013 @ 13:45-14:25!

    So, if you are close to Göteborg or attending this event, do not forget to come to listen Sven's talk!


    Percona XtraBackup 2.1.3 for MySQL available for download
    +1 Vote Up -0Vote Down

    Percona is glad to announce the release of Percona XtraBackup 2.1.3 for MySQL on May 22, 2013. Downloads are available from our download site here and Percona Software Repositories.

    This release fixes a high priority bug. It’s advised to upgrade your latest 2.1 version to 2.1.3 if you’re using the Percona XtraBackup with

      [Read more...]
    MySQL vs Drizzle plugin APIs
    +1 Vote Up -0Vote Down

    There’s a big difference in how plugins are treated in MySQL and how they are treated in Drizzle. The MySQL way has been to create a C API in front of the C++-like (I call it C- as it manages to take the worst of both worlds) internal “API”. The Drizzle way is to have plugins be first class citizens and use exactly the same API as if they were inside the server.

    This means that MySQL attempts to maintain API stability. This isn’t something worth trying for. Any plugin that isn’t trivial quickly surpasses what is exposed via the C API and has to work around it, or, it’s a storage engine and instead you have this horrible mash of C and C++. The byproduct of this is that no core server features are being re-implemented as plugins. This means

      [Read more...]
    Hint of the day: Warning level in Error Log to see Aborted Connections
    +1 Vote Up -0Vote Down
    log_warnings = 2

    Yields useful information in the MariaDB or MySQL error log file (or syslog on Debian/Ubuntu) you don’t want to miss out on.

    You will know about aborted connections, which are otherwise only visible through global status as Aborted_connects (lost connection before they completed authentication) and Aborted_clients (cut fully authenticated connection).

    It looks like

    130523 2:14:05 [Warning] Aborted connection 173629 to db: 'unconnected' user: 'someapp' host: '10.2.0.50' (Unknown error)

    You will know when, where from, and if for instance a wrong password was used you’ll see the username. Basically you’ll get as much info as the server has available at that point. Useful.

     

    Why you shouldn't hire a devops
    +0 Vote Up -0Vote Down

    Lately there have been a lot of organisations trying to hire a devops engineer.
    I myselve have been asked to fill in devops roles ..

    There's a number of issues with that.

    The biggest problem is that I always have to ask what exactly the organisation is looking for.

    So you want a devops engineer with experience in Linux, MongoDB, MySQL and Java , does that mean you want a Java developer who is familiar with MySQL and Linux and breaths a devops Culture.
    Or a Linux expert who understands Java developers and knows how to tune Mongo and MySQL ?

    It's absolutely unclear what you want when you are hiring "A devops engineer"

    The second problem is that you are trying to hire people who are knowledgeable about devops,

    Yet a lot of those people know that you can't do devops on your own , devops is not a jobtitle. devops is not a new devops



      [Read more...]
    Percona MySQL University @Portland: June 17
    +2 Vote Up -0Vote Down

    Peter Zaitsev leads a track at the inaugural Percona MySQL University event in Raleigh, N.C. on Jan. 29, 2013.

    Portland is a well-recognized hub for Open Source technologies in the Northwest, home to conferences such as OSCON and Open Source Bridge as well as hosts of OpenSQL Camp in 2009. As such it is a very natural place for our next Percona MySQL University event scheduled for June 17.

    We run this event in partnership with

      [Read more...]
    MySQL and the SSB – Part 2 – MyISAM vs InnoDB low concurrency
    +1 Vote Up -0Vote Down

    This blog post is part two in what is now a continuing series on the Star Schema Benchmark.

    In my previous blog post I compared MySQL 5.5.30 to MySQL 5.6.10, both with default settings using only the InnoDB storage engine.  In my testing I discovered that innodb_old_blocks_time had an effect on performance of the benchmark.  There was some discussion in the comments and I promised to follow up with more SSB tests at a later date.

    I also promised more low concurrency SSB tests when Peter blogged about the importance of performance at low concurrency.

    The SSB
    The SSB tests a

      [Read more...]
    MySQL Workbench 6.0 – A Sneak Preview
    Employee_Team +1 Vote Up -0Vote Down

    The MySQL Workbench team has been a little quiet for the past few months, but that’s because we’ve been busy working on an exciting new version. Read more about it in Tomas’ blog

    MySQL Workbench 6.0 – A Sneak Preview
    Employee +4 Vote Up -0Vote Down

    The MySQL Developer Tools team is known for their steady release cycle, putting out a new MySQL Workbench (http://www.mysql.com/products/workbench/" target="_blank) release every 4-5 weeks. Now that it has been a bit quiet for a while you may wonder what is going on. Let me share some inside knowledge of what’s happening behind the scenes.

    MySQL Workbench is a key component of our MySQL stack and extremely popular as shown by download numbers and interest in our white papers. It is the face of MySQL on the desktop, and we aim to make it even more popular for developers & DBAs than it is today. We have been looking for strong C++ and Python developers to grow the team further, and I’m happy to welcome Marcin Szalowicz from Poland and Miguel Tadeu from Portugal who started this Monday. They are going to work on

      [Read more...]
    Some storage engine features you only get if you’re InnoDB
    +1 Vote Up -0Vote Down

    I had reason to look into the extended secondary index code in MariaDB and MySQL recently, and there was one bit that I really didn’t like.

    MariaDB:

    share->set_use_ext_keys_flag(legacy_db_type == DB_TYPE_INNODB);

    MySQL:

    use_extended_sk= (legacy_db_type == DB_TYPE_INNODB);

    In case you were wondering what “legacy_db_type” actually does, let me tell you: it’s not legacy at all, it’s kind of key to how the whole “metadata” system in MySQL works. For example, to drop a table, this magic number is used to work out what storage engine to call to drop the table.

    Now, these code snippets

      [Read more...]
    Implementing asynchronous cascade delete in MySQL
    +2 Vote Up -0Vote Down

    A while back one of my foreign keys started causing trouble. The problem was that some parent rows had tens of thousand of child rows, and the foreign key was defined with CASCADE DELETE enabled. When we deleted one of those parent rows on a master database, it took several seconds to execute the delete because of the cascade. This led to latency for the end user, and also led to replication delays.

    The immediate solution was make the application tolerant of orphaned rows in the child table and to drop the explicit foreign key constraint.

    I didn't really want to leave those orphaned rows hanging around in the child table, so I decided to implement an asynchronous process to delete the orphaned rows on a scheduled basis. Read on for a description of that process.

    Using the

      [Read more...]
    Shard-Query 2.0 Beta 1 released
    +4 Vote Up -0Vote Down

    It is finally here.  After three years of development, the new version of Shard-Query is finally available for broad testing.

    This new version of Shard-Query is vastly improved over previous versions in many ways.  This is in large part due to the fact that the previous version of Shard-Query (version 1.1) entered into production at a large company.  Their feedback during implementation was invaluable in building the new Shard-Query features.   The great thing is that this means that many of the new 2.0 features have already been tested in at least one production environment.

    This post is intended to highlight the new features in Shard-Query 2.0.  I will be making posts about individual features as well as posting benchmark results.

      [Read more...]
    PHPTek
    Employee +1 Vote Up -0Vote Down

    The PHPTek Conference bills itself as the premier professional PHP conference with a community flair. Having been to dozens of PHP conferences, I thought that was a pretty bold claim.

    MySQL Boogiebot

    But as they say in Texas, it ain’t bragging if you can do it.

    MySQL plush dolphins and BoogieBots. The wind up dancing robots were popular in Chicago

    And the organizers picked perfect weather for this Chicago based show.

    The quality of the presenters and presentations was amazing high. Most of these sessions covered intricacies with the PHP language. The talks covered the range from

      [Read more...]
    Replication in MySQL 5.6: GTIDs benefits and limitations – Part 1
    +2 Vote Up -0Vote Down

    Global Transactions Identifiers are one of the new features regarding replication in MySQL 5.6. They open up a lot of opportunities to make the life of DBAs much easier when having to maintain servers under a specific replication topology. However you should keep in mind some limitations of the current implementation. This post is the first one of a series of articles focused on the implications of enabling GTIDs on a production setup.

    The manual describes very nicely how to switch to GTID-based replication, I won’t repeat

      [Read more...]
    MyISAM's "table lock" problem, and how InnoDB solves it
    +1 Vote Up -0Vote Down
    Most serious users of MySQL have moved their tables to InnoDB years ago.  For those who haven't, let's discuss why InnoDB is a more scalable solution than MyISAM. MyISAM was designed to be very fast for read queries.  It does not handle higher loads of writes very well.  It also suffers a more serious flaw: it isn't crash-safe.  In other words, you better have frequent backups. MyISAM tables
    Why I do what I do?
    +2 Vote Up -0Vote Down

    I was sincerely affected by this last MySQL post and this other very long post from Jeremy Cole.
    Yes, these two guys are MySQL rock stars and they are really impressives, their involvement in the MySQL community is utter!

    I don’t want to write a long long speech about my simple life…
    I just want to clarify why I do what I do.

    Many people have asked or wondered without asking why I do what I do
    (Jeremy Cole - 2013)

    A few years ago Ashley Unitt asked me what I was most proud of, and now, I can make a complete answer. I’m very proud to take part of a community, MySQL has transformed my job into a passion and an incredible desire to share this



      [Read more...]
    Showing entries 1 to 30 of 29661 Next 30 Older Entries

    Planet MySQL © 1995, 2013, Oracle Corporation and/or its affiliates   Legal Policies | Your Privacy Rights | Terms of Use

    Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.