I have always had the attitude one should eat their own dog food. (so to speak ;-) Especially when it comes to software. As such, MySQL just released Workbench 6.1 with Visual Explain. I have a production database that holds results from automated performance tests which is updated by an xml parser. Using the Visual Explain I found several queries in the parser causing table scans. Applying the suggest indexes resolved these scans. There a lot of great additions to this latest release and it is free. Worth a look for sure. Whats new in MySQL Workbench 6.1
A couple weeks ago, I started wondering about some alternative
approaches to resetting the MySQL or MariaDB password. The
tried-and-true methods of --skip-grant-tables and
--init-file are fine, but I thought there must be
some more "simple" (in terms of fewer steps at least) and more
programmatic way. It occurred to me that it should be possible to
use the embedded server (libmysqld) to accomplish
this task. In this post, I'll look at how to use the
mysql_embedded tool to inspect and modify grant
tables, as well as how to use the --bootstrap option
to mysqld to do the same.
I've recently run into a scenario where MyISAM auto-repair does not appear to work in MySQL 5.6. Most of my tables are InnoDB, but having recently upgraded from MySQL 5.5 to 5.6 I still have a handful of MyISAM tables in order to use FULLTEXT indexes since FULLTEXT on InnoDB was not supported in MySQL 5.5. These MyISAM tables are essentially copies of InnoDB tables, and are kept in sync via triggers.
I'm using myisam_recover_options=FORCE,QUICK so I
expect any crashed MyISAM tables to be repaired automatically
when mysqld tries to open them, but when one of these MyISAM
tables crashes the auto-repair does not happen unless I
explicitly interact with the table. For example I'll see an error
like this if replication updates a table that triggers an update
on a crashed MyISAM table:
2014-06-02 15:01:01 8617 [ERROR] /usr/sbin/mysqld: Table
'./flite/ad_index' is marked as crashed and should be repaired
2014-06-02 …
MySQL has opened a lot of avenues and opportunities for me. I am
the CTO of Shots and I got here because I was a mySQL
DBA, who can code in a variety of languages, understand data
access, layout and design fast backends that scales to well over
100 million users, manage a team, give back to the community and
prove myself through constant good work. Plus I've made every
single mistake, so I know what not to do.
At Shots we of course use Percona XTRA DB 5.6, with Memcache,
Redis, ElasticSearch, HAProxy, FluentD with Logstash plugins,
Ruby, PHP 5.4, Go, Java, Erlang and AWS which are managed via a
custom CHEF build. We use chef server like chef solo :)
In four months we grabbed over 1 million ACTIVE users all on IOS,
which are mainly from US, UK, Australia, Canada and Brazil. We …
Changes (as compared to 5.72) include:
Features:
* The MONyog API is enhanced with more options to manage servers
registered in MONyog. Options now include calls to
add/edit/remove servers. Refer documentation for full details.
* MONyog now supports Query analysis using Performance Schema
tables (events_statements_summary_by_digest and
events_statements_history_long tables). This feature is supported
only for MySQL 5.6.14 and MariaDB 10.0 and above.
* Explain plan is available in Query analyzer for Slow_log table
based logging and Processlist sniffer.
* An example query is now shown in detailed query view in
Query analyzer if queries replaced with literals is
selected.
* MONyog now has a configurable option to define the max.
query length displayed. …
I’ve been running a benchmark today on my old test box with conventional hard drives (no raid with BBU) and noticed something unusual in the CPU utilization statistics being reported.
The benchmark was run like this:
sysbench --num-threads=64 --max-requests=0 --max-time=600000 --report-interval=10 --test=oltp --db-driver=mysql --oltp-dist-type=special --oltp-table-size=1000000 --mysql-user=root --mysql-password=password run
Which means: create 64 threads and hammer the database with queries as quickly as possible. As the test was run on the localhost I would expect the benchmark to completely saturate the system – being either using CPU or being blocked on IO nature of this benchmark so it does not spend a lot on database locks, especially as this system has just 2 cores.
Looking at VMSTAT however I noticed this:
[root@smt1 mysql]# vmstat 10 procs -----------memory---------- ---swap-- -----io---- …[Read more]
Percona is glad to announce the release of Percona Server 5.5.37-35.1 on June 3rd, 2014 (Downloads are available here and from the Percona Software Repositories). Based on MySQL 5.5.37, including all the bug fixes in it, Percona Server 5.5.37-35.1 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 …
[Read more]I’ve previously covered MySQL 5.6 on POWER (with patch), MySQL 5.6 Performance on POWER8 (spoiler: new performance record) and MySQL 5.7 on POWER.
Of course, The postings on this site are my own and don’t necessarily represent IBM’s positions, strategies or opinions. Also, these numbers should be considered preliminary, but trust me – I did get them and it’s not April 1st.
From my last post, you saw that with my preliminary patch for MySQL 5.7 to work on POWER, we could easily match the previous record for sysbench point select …
[Read more]In a previous post, I covered porting MySQL 5.6 to POWER and subsequently, some new record performance numbers with MySQL 5.6.17 on POWER8.
Well, those following at home will be aware that not only is the next sentence sponsored by IBM Legal, but that MySQL 5.7 alleviates a bunch of the mutex contention that we saw with MySQL 5.6. The postings on this site are my own and don’t necessarily represent IBM’s positions, strategies or opinions.
In looking at MySQL performance on POWER, it’s inevitable that I should look at MySQL 5.7 and what’s coming up in the next stable release of MySQL.
Surprisingly, a bunch of the core code in InnoDB and MySQL dealing with mutexes has changed in MySQL 5.7 when …
[Read more]The following sentence is brought to you by IBM Legal: The postings on this site are my own and don’t necessarily represent IBM’s positions, strategies or opinions.
My previous post covered the work needed to get MySQL 5.6.17 running reliably on modern POWER systems. The patch to MySQL 5.6.17 that’s needed is available here.
For those who don’t know, POWER8 is the latest Power Architecture processors from IBM (my employer). These chips will be available in systems from IBM in June 2014 (i.e. Real Soon Now(TM)). There’s some fairly …
[Read more]