One of the common mistakes made by new MySQL DBAs is forgetting to consider the MySQL temporary directory. If an internal heap table exceeds the size of the MySQL parameter TMP_TABLE_SIZE, MySQL will create a temporary MyISAM file on the disk to buffer the data.MySQL will use the TMPDIR environmental variable to set the default location for storing temporary files. If this environmental
After shutting down and removing a MySQL database server from a Windows platform it is important to remember to remove the Windows service associated with it. There are two different ways to remove a MySQL server.MySQL way: c:> mysqld --remove servicenameWindows way: c:> sc delete servicename
I find it very interesting how Sun does not get the very basic principle of true community Open Source development - you've got to give up on making a big splash.
Traditional close source company often develop product in the secret and when it comes out as a surprise for computers and making a big splash for the users. Does it remind you something ? Yes! this is exactly how Innodb Plugin was released last year or MySQL 5.4 performance improvements this year.
Community did not know about them and did not participate early in this efforts.
Another big splash which seems to be planned later this year is "Performance Schema" - which is in development for years as this post claims but to date there is no code for community to play with
I …
[Read more]Photo by Mike Gogulski, used in accordance with the Creative Commons BY-SA 3.0 license
The photo above illustrates (by counter-example) an important characteristic of a normalized database: each logical "type" of attribute belongs in a separate column.
Just because three values happen to be numeric doesn't mean it makes sense to SUM() them together. But if dissimilar attributes are stored
Every so often I run into situation when I need to kill a lot of connections on MySQL server - for example hundreds of instances of some bad query is running making server unusable. Many people have special scripts which can take the user, source host or query as a parameter and perform the action. There is also a way to do it just using MySQL with a few commands:
PLAIN TEXT SQL:
- mysql> SELECT concat('KILL ',id,';') FROM information_schema.processlist WHERE user='root';
- +------------------------+
- | concat('KILL ',id,';') |
- +------------------------+
- | KILL 3101; |
- | KILL 2946; |
- +------------------------+
- 2 rows IN SET (0.00 sec) …
Yes!
Last night, I completed the draft of "Pentaho Solutions", which is a book I'm
writing together with my friend and colleague Jos van
Dongen for Wiley.
(Actually, the full title is: "Pentaho Solutions: Business
Intelligence and Data Warehousing with Pentaho and MySQL")
Here's an overview of the contents, just to give you an idea what
we have been doing:
-
- Part I: Getting Started, Prerequisites, Installation and
Configuration and Overview
-
- Chapter 1: Quick Start: Pentaho PCI Examples
- Chapter 2: Prerequisites
- Chapter 3: Server Installation and Configuration
- Chapter 4: The Pentaho …
-
You probably haven’t noticed but I have not blogged since the UC. It is not because I am upset by the perspective of working for Oracle, I have simply been busy tracking down an issue we have with WaffleGrid. We discovered that under high load, with DBT2 on a tmpfs, we end up with error in a secondary index. In the error of MySQL, we have entries like this one:
InnoDB: error in sec index entry update in InnoDB: index `myidx1` of table `dbt2`.`new_order` InnoDB: tuple DATA TUPLE: 3 fields; 0: len 4; hex 80000001; asc ;; 1: len 4; hex 80000bea; asc ;; 2: len 4; hex 80000005; asc ;; InnoDB: record PHYSICAL RECORD: n_fields 3; compact format; info bits 32 0: len 4; hex 80000001; asc ;; 1: len 4; hex 80000bea; asc ;; 2: len 4; hex 80000004; asc ;; TRANSACTION 14469, ACTIVE 1 sec, process no 7982, OS thread id 2995481488 updating or deleting mysql tables in use 1, locked 1 26 lock struct(s), heap size 2496, 65 row lock(s), undo log …[Read more]
Following on the heels of our memcached performance tests on SunFire X2270 (
Sun's Nehalem-based server) running OpenSolaris, we ran the same
tests on the same server but this time on RHEL5. As mentioned in
the post presenting the first memcached results, a 10GBE Intel Oplin card was
used in order to achieve the high throughput rates possible with
these servers. It turned out that using this card on linux
involved a bit of work resulting in driver and kernel
re-builds.
- With the default ixgbe driver from the RedHat distribution (version 1.3.30-k2 on kernel 2.6.18)), the interface simply hung during the benchmark test.
- This led to downloading the driver from the Intel site (1.3.56.11-2-NAPI) and re-compiling it. This version does …
People keep loving and endorsing the –innodb-file-per-table. Then poor new users read about that, get confused, start using –innodb-file-per-table, and tell others to. Others read then, get confused even more, and start using –innodb-file-per-table, then write about it. Then…
Oh well. Here, some endorsements and FUD against one-tablespace-to-unite-them-all:
This same nice property also translates to a not so nice one: data can be greatly fragmented across the tablespace.
Of course, having file-per-table will mean that only one table will be in a file, so, kind of, it will not be ‘mixed’… inside file. Now, when data grows organically (not when you restore few-hundred-gigabyte dump sequentially), all those files grow and start getting fragmented (at ratios depending on how smart filesystem is, and.. how many …
[Read more]We announce next version of our xtrabackup tool and we consider it stable enough to put label RC on it.
Changelist includes:
- use O_DIRECT by default for handling InnoDB files
- use posix fadvise call to disable OS caching of copying
files
- disable recovery of double buffer
Also we added binary builds for FreeBSD 7 64bit platform
You can download current binaries (64bit) RPM for RHEL4 and RHEL5
(compatible with CentOS also), DEB for Debian/Ubuntu, tar.gz for
Mac OS / Intel and .tar.gz for FreeBSD 7:
http://www.percona.com/mysql/xtrabackup/0.7/.
By the same link you can find general .tar.gz with binaries which
can be run on any modern Linux distribution.
By the same link you can download source code if you do not want
to deal with bazaar and Launchpad.
The project lives on Launchpad : …
[Read more]