One of great innovation in MySQL 5.7 is memory summary tables в Performance Schema and
corresponding views in sys
schema
And as troubleshooting freak I have huge reason to greet this
feature.
Before version 5.7 we had very limited abilities to diagnose
memory issues in MySQL. We could use operating system tools, such
as vmstat, top, free, but they only showed what MySQL server uses
memory, but do not show how. In version 5.7 things
changed.
Lets examine what can we study about memory usage by MySQL
Server.
At first, this is total amount of memory, used by all internal MySQL
structures:
mysql> select * from …
September 18, 2014 By Severalnines
Galera Cluster is a popular choice for achieving high availability using synchronous replication. Though if you are planning to run huge sites with many DB objects (tables), a few tweaks are necessary.
Yes, you might have been successful in loading your 1000s of databases and 1000s of tables, but what happens if you have a node failure and Galera recovery fails?
In this blog post we will show you how to determine one common error related to the open_files_limit that MySQL imposes, and also to spot another potential pitfall.
Open_files_limit
If you are using wsrep_sst_method=xtrabackup or wsrep_sst_method=xtrabackup-v2 then you will find a log file in the data directory of the donor node. This log file is called innobackup.backup.log.
140912 19:10:15 innobackupex: Done. …[Read more]
Here are 3 recent ' oops... wish I hadn't done that :/ ' mistakes I've made since joining moz that you might as well avoid (I'm sure there will be more, but they better not be the same)
Reviewing config files for MySQL, but not all of the defaults
We recently migrated a few MySQL databases to a new datacenter, and took advantage of the migration to upgrade the MySQL version(s) at the
A fascinating post-mortem on high profile network failures:
This post is meant as a reference point–to illustrate that, according to a wide range of accounts, partitions occur in many real-world environments. Processes, servers, NICs, switches, local and wide area networks can all fail, and the resulting economic consequences are real. Network outages can suddenly arise in systems that are stable for months at a time, during routine upgrades, or as a result of emergency maintenance. The consequences of these outages range from increased latency and temporary unavailability to inconsistency, corruption, and data loss. Split-brain is not an academic concern: it happens to all kinds of systems–sometimes for days on end. Partitions deserve serious consideration.
Now that I'm back doing just database stuff, I've come to realize I've gotten a little sloppy about doing my homework. Homework's never been my favorite thing in the world, but it often reduces stress when your under the gun during an outage or upgrade...
We had a MySQL database server that's been slow on DML changes, and based on the slowest statements being 'COMMIT', we had a good mind
Last year, when I was speaking about MySQL performance at
Devconf in
Moscow, I expected my audience will be very experienced as this
always happen at all PHPClub conferences. So I had to choose: either
make full-day seminar and explain people every basic of
performance, or rely on their knowledge and make some one and
half hours seminar. I prefer short speeches, so I considered
latter.
But even with such a mature audience you don't always know if
they knew some or another basic thing. Like somebody can be good
analyzing EXPLAIN output and other is in reading InnoDB Monitor
printout. Also, native language of the audience is not English
and it would be always good to have short reference to simple
things, described in their native language. In this case Russian.
This is why I created …
The blog title says it all: Do we need a MySQL Cookbook? I tend to think so.
This seems to be something that is missing with current MySQL documentation. There is lots of information available but finding the appropriate bit can be quite tedious and it often requires looking in multiple places.
A lot of other software has such books, but for some reason MySQL seems to be missing one.
A recent example comes from a “documentation feature request” I posted today: http://bugs.mysql.com/bug.php?id=68171. MySQL 5.6 provides a way to “move InnoDB tables” from one server to another. There are many reasons why you may want to do it, but the documentation is currently rather sparse. A simple “example recipe” for this would be good, as would an equivalent recipe for other engines where you can do this such as MyISAM. This is just an isolated …
[Read more]
Suddenly your application starts throwing "error 157" and
performance degrades or is non-existing. It is easy to panic then
and try all sorts of actions to get past the problem. We have
seen several users doing:
- rolling restart
- stop cluster / start cluster
because they also see this in the error logs:
120828 13:15:11 [Warning] NDB: Could not acquire global schema lock (4009)Cluster Failure
That is not a really a nice error message. To begin with, it is a
WARNING when something is obviously wrong. IMHO, it should be
CRITICAL. Secondly, the message ‘Cluster Failure’ is misleading.
The cluster may not really have failed, so there is no
point trying to restart it before we know more.
So what does error 157 mean and what can we do about it?
By using perror we can get a hint what it means:
$ …
Read the original article at A CTO Must Never Do This…
A couple years back I was contacted to look at a very strange problem.
The firm ran flash sales. An email goes out at noon, the website traffic explodes for a couple of hours, then settles back down to a trickle.
Of course you might imagine where this is going. During that peak, the MySQL database was brought to its knees. I was asked to do analysis during this peak load, and identify and fix problems. Make it go faster, please!
First day on the job I’m working with a team of outsourced DBAs. I was also working with a sort of swat team chatting on SKYPE, while monitoring the systems closely.
…
[Read more]When I install a MySQL package using MySQL Sandbox, if everything goes smoothly, I get an informative message on standard output, and I keep working.
This is OK
[Read more]
$HOME/opt/mysql/5.5.15/scripts/mysql_install_db --no-defaults \
--user=$USER --basedir=$HOME/opt/mysql/5.5.15 \
--datadir=$HOME/sandboxes/msb_5_5_15/data \
--lower_case_table_names=2
Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/Users/gmax/opt/mysql/5.5.15/bin/mysqladmin -u root password 'new-password'
/Users/gmax/opt/mysql/5.5.15/bin/mysqladmin -u root -h gmac4.local password 'new-password'
Alternatively you can run: …