Modern NoSQL solutions make good, old MySQL Replication appear weak on High Availability (HA). Basically, MySQL users have three choices for MySQL Replication HA: give up on HA, believe that doubling single points of failures means HA, or go for a proper but complex solution. Albeit, as NoSQL world and competition proves, solid HA can be dead simple: embed a Group Communication System (GCS) into MySQL! No single point of failure and near zero client deployment is doable. In parts, the proposal surpassed Pacemaker/Corosync. Read on: story, slides, experimental code.
[Read more]I will be talking about Big Data with MySQL and Hadoop at MySQL Connect 2013 (Sept. 21-22) in San Francisco as well as at Percona University at Washington, DC (September 12, 2013). Apache Hadoop is a very popular Big Data solution and we can nowadays easily integrate it with MySQL. I will start with a brief introduction of Apache Hadoop and its components (HFDS, Map/Reduce, Hive, HBase/HCatalog, Flume, Scoop, etc). Next I will show 2 major Big Data scenarios:
- From file to Hadoop to MySQL. This is an example of “ELT” process: Extract data from external source; Load data into Hadoop; Transform data/Analyze data; Extract results to MySQL. It is similar to the original Data Warehouse ETL …
I setup 6 shiny new MySQL 5.6.13 MySQL servers, ready for testing and production deployment tomorrow.
I found that the New Relic MySQL Monitoring was throwing the following error.
[2013-08-08 03:53:33 +0000] com.newrelic.plugins.mysql.MySQL | SEVERE | An SQL error occured running 'SHOW ENGINE INNODB STATUS' Access denied; you need (at least one of) the PROCESS privilege(s) for this operation
Simple fix, the user I am gathering metrics requires the PROCESS privilege. Again simple enough.
mysql> grant PROCESS on xxx.* to xxx@'10.%'; ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES mysql> grant PROCESS on *.* to xxx@'10.%'; Query OK, 0 rows affected (0.00 sec)
As you can see I got an error for a global privilege, again trivial, easy fix to correct syntax. However, it …
[Read more]Recently, we’ve seen a few people ask us about building TokuMX from scratch. While it’s best if you just use the binaries you can get from us (they have all the right optimizations, we’ve tested them, and we can interpret coredumps they generate), we recognize there are other reasons you might need to do a custom build.
Since we actually build six distinct products all using the Fractal Tree indexing® library (community and enterprise versions of TokuDB for MySQL, TokuDB for MariaDB, and TokuMX), our build process is pretty complicated, compared to software packages that might, for example, just involve one source repository and link against a few standard libraries. Our TokuMX builds involve four git repositories, three separate build stages, two different build tools, and …
[Read more]Here at Monitis, we’re on a mission to not only build the best product but also, at the same time, make it more user-friendly. We listen to your feedback and suggestions and take various steps to improve our services, tools and features to make YOUR life easier. In any given week, you can see a new feature or update in your Monitis dashboard. Here’s some of the stuff we’ve added since our last newsletter, three months ago. Stay-up-to-date and see all that we have to offer by reading about all our changes below:
Good news everyone! I recently presented a webinar: Percona Server 5.6: Enterprise Grade MySQL. It was also recorded so you can watch along or view the slide deck. As with all my talks, I am not simply reading the slides so it really is worth to listen to the audio rather than just glance through the slide deck.
There were a number of great questions asked which I’ll answer below:
Q: How does Stewart feel about this version of 5.6 taking into consideration “Stewart’s .20 rule?” (ref 2013 Percona Live Conference).
A: For those who aren’t familiar with it, I have a rule which I call “Stewart’s dot twenty rule” which I’ve posted a few times about on my personal blog. It …
[Read more]I’ve just had a new article published with the Software Developers Journal talking about how you can write applications to take full advantage of Continuent Tungsten and Tungsten Replicator.
As a developer of an application there really isn’t a problem better than finding that you have to scale up the application and the database that supports it to handle the increased load. The main bottleneck to most expansion is the database server and in many modern environments that replication is based around MySQL. Application servers are easy to add on to the front-end of your environment.
[Read more]MySQL Connect is taking place in San Francisco September 21-23; Counting over 85 sessions and tutorials, the event represents a unique opportunity to boost your MySQL skills and hear from Oracle's MySQL engineers along with customers, partners and MySQL community members.
Have you signed up yet? If not, you can still save US$300 over the onsite price if you register now!
Here are the top 10 reasons why you should do so:
- Better understand Oracle's MySQL strategy. Hear straight from the source how Oracle is driving MySQL innovation, and what are the latest developments and roadmaps.
- Learn about real-world experiences from other organizations. Find out …
Dear MySQL users,
MySQL Connector/C 6.1.1, a new version of the C API for
client/server communication for the MySQL database management
system, has been released. This version of Connector/C provides
full support for MySQL 5.6 protocol. Connector/C is compatible
with the client libraries (libmysql).
It includes all the features in the MySQL client library shipped
with MySQL servers 5.6 as well as prior versions. You can
recompile existing code linked with Connector/C 6.1.0 without any
code changes. You can use Connector/C to run and build client
applications which communicate with MySQL server versions from
4.1 to 5.6 without a need to do a complete server installation.
The release is now available in source and binary form for a
number of platforms from our download pages at
http://dev.mysql.com/downloads/connector/c/
For information on installing, please see the documentation at …
Over time, some options have crept into the MySQL server which
are comma separated lists of options. These include SQL_MODE,
optimizer_switch, optimizer_trace and a few other
variables.
Optimizer_switch is particularly problematic to work with as it
contains many options and is hard to interpret. This is what you
usually see when you examine optimizer_switch:
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on
As you can see, seeing which option is on or off is rather
difficult. You can use the REPLACE function to make this
easier:
mysql> select replace(@@optimizer_switch, ',','\n')\G …[Read more]