In my previous post I've presented a list of bugs reported by famous MySQL developers, DBAs, users and support engineers who used oprofile to find the problem or root cause of the problem they studied. I assume that some of my readers would like to follow their steps and try to use this tool while working on MySQL performance problems. Bug reports I mentioned contain outputs and, rarely, just some commands used. That's why I decided to write a kind of a basic "Howto" document. The tool does have a detailed enough manual, but few basic steps for quick use of oprofile to study MySQL-related problems should still help. At least I had always considered …[Read more]
10 Older Entries »
Users had to identify the reasons for MySQL performance problems
somehow well before famous Performance Schema appeared in MySQL 5.5.3,
and even before Domas invented his Poor Man's Profiler. Poor users had
to use some OS-level tools, and among these tools the most
important one was, probably, oprofile.
oprofile is a system-wide statistical profiling tool for Linux available since 2001 and 2.4.x kernels. It was applied to MySQL for many …
This post is part of the series "please do not ignore warnings in MySQL/MariaDB". The previous post of the series can be found here.
In this post, I will present why ignoring warnings made me lose time in upgrading MariaDB Server. I think this war story is entertaining to read and it is also worth presenting to people claiming that ignoring warnings is no big deal.
A few months ago, I was in
In a last post, I wrote the two following sentences:
please do not ignore warnings always investigate/fix warnings
I realized that without context, this might be hard to understand. In this post, I want to give more background about these two sentences.
In my work, I have seen problems solved (wrongly) by ignoring warnings. Some example that comes to my mind:
upgrading to a new MySQL
The Oracle 12c manual says "Oracle PL/SQL provides functionality equivalent to SQL/PSM:2011, with minor syntactic differences, such as the spelling or arrangement of keywords." Yes, and English provides functionality equivalent to Russian, except all the words are spelled differently and in different order. Seriously, since Oracle has PL/SQL and MariaDB has SQL/PSM, their stored procedures and functions and triggers and anonymous blocks -- hereinafter "code blocks" -- look different.
But that's changing.
There's a boatload of Oracle compatibility sauce in MariaDB 10.3,
and part of it is PL/SQL code blocks, which is what I'll look at
here. MariaDB 10.3 is not released and might not be released for
a long time, but the source code is public. I downloaded it
git clone -b bb-10.2-compatibility …
In my previous post, I talked about a funny replication breakage that I experienced with MariaDB. So what about different versions of MySQL... > SELECT version(); +------------+ | version() | +------------+ | 5.6.35-log | +------------+ 1 row in set (0.00 sec) > SELECT * FROM test_jfg; +----+--------+-------------+ | id | status
A funny replication breakage kept me at the office longer than expected today (Friday 13 is not kind with me).
So question of the day: can you guess what the below UPDATE statement does (or what is wrong with it)?
> CREATE TABLE test_jfg ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, status ENUM('a','b') NOT NULL DEFAULT 'a', txt TEXT); Query OK, 0
Amazon is releasing new products & services to it’s global cloud compute network at a rate that has all of our heads spinning. Join 32,000 others and follow Sean Hull on twitter @hullsean. Here’s new stuff worth mentioning around databases & data. 1. For ETL – AWS GLUE Moving data from your transactional MySQL or … Continue reading What products & improvements are new on AWS? →
You can export data from MariaDB using mysqldump and a bunch of
other tools, but if you need really flexible output format, this
might not be what you need. Instead, give MyMDBDump a try. This
tool will export data just like mysqldump, but the output format
is a lot more flexible. I urge you to test it and check out the
documentation, but some if the features are, in short:
- Dynamic column support - Dynamic columns can be exported as binary, JSON or even as SQL, where I think the latter is a pretty unique feature.
- Oracle export format - This exports data as INSERT statements, just like mysqldump, but in an Oracle friendly way.
- MS SQL / SQL Server format - This exports data as SQL Server friendly INSERTs.
- Binary data formats - Supporting plain binary, base64, hex and a number of more formats.
- Transaction support.
- JSON export support - Including embedding dynamic columns …
It's time to summarize the year of 2016. As a kind of a weird
summary, in this post I'd like to share a list of MySQL bug
reports I've created in 2016 that are still remaining "Verified"
- Bug #79831 - "Unexpected error message on crash-safe slave with max_relay_log_size set". According to Umesh this is not repeatable with 5.7. The fact that I've reported the bug on January 4 probably means I was working at that time. I should not repeat this mistake again next year.
- Bug #80067 - "Index on BIT column is NOT used when column name only is used in WHERE clause". People say the same problem happens with INT and, what may be even less expected, BOOLEAN columns.
10 Older Entries »