Community journal

The latest from the MySQL community

Ideas, releases, practical guides, and perspectives from the people building with MySQL.

Follow the feed
Showing entries 451 to 460 of 979 « Previous | Next »
Displaying posts with tag: Databases (reset)
Never let your binlog directory fill up

Recently with a client while running a number of disaster recovery tests I came across a nasty situation which was not part of the original plan and provided a far worse disaster situation then expected.

I should preface this condition with some of the environment conditions.

  • MySQL 5.0 Enterprise 5.0.54
  • RHEL 5 64bit
  • Master and 2 Slaves
  • MySQL Data and MySQL Binary Logs/MySQL Error Logs are on separate disk partitions

While running stress tests under high load, we tested the filling of partition containing the logs. This partition included the binary log and MySQL error log.

The observed output was.

  • An error message was written to the MySQL error log. See below.
  • Application throughput dropped, but did not stop.
  • Binary logs stopped occuring.
  • MySQL proactively stopped logging but continued to process …
[Read more]
Killing my softly with QUERY

The MySQL KILL command as the name suggests kills queries that are running.

After identifying the Id using the SHOW PROCESSLIST command, the User of the connection/thread or a database user with SUPER privileges can execute KILL [id]; to remove the connection/thread.

However, there is an ability to kill just the query that is being executed rather the entire connection. The default when not specified is to kill the connection, however you can optional specify the CONNECTION or QUERY keywords.

For example, below is an interactive test.

Thread 1:

mysql> select sleep(10);

Thread 2:

mysql> show processlist;
+----+------+-----------+------+---------+------+-----------+------------------+
| Id | User | Host      | db   | Command | Time | State     | Info             | …
[Read more]
The confusion over global and session status

I was trying to demonstrate to a client how to monitor queries that generate internal temporary tables. With an EXPLAIN plan you see ‘Creating temporary’. Within MySQL you can use the SHOW STATUS to look at queries that create temporary tables.

There is the issue that the act of monitoring impacts the results, SHOW STATUS actually creates a temporary table. You can see in this example.

mysql> select version();
+-----------------+
| version()       |
+-----------------+
| 5.1.31-1ubuntu2 |
+-----------------+
1 row in set (0.00 sec)

mysql> show global status like 'created_tmp%';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| Created_tmp_disk_tables | 48    |
| Created_tmp_files       | 5     |
| Created_tmp_tables      | 155   |
+-------------------------+-------+
3 rows in set (0.00 sec)

mysql> show global status like 'created_tmp%';
+-------------------------+-------+
| …
[Read more]
MySQL processlist – (show/kill processes)

It”s not the most common task in the world, but you might want to view processes from a particular user and once in a while you might even need to kill processes from a single user, be it during an attack or because you simply got a bug in an application bombarding your db server with connections!

Here is a small stored procedure which does exactly that!

call process_list("show","username","hostname");

– shows all processes owned by username@hostname

call process_list("kill","username","hostname");

– kills all processes owned by username@hostname

The code for this stored procedure can be found below. If you have any comments / suggestions feel free to comment below.

######################################################################
##                                        …

[Read more]
Save time and energy: How to … (… continued)

Earlier this year I had published a small blog about being efficient when using mysql prompt. This is a small continuation of it highlighting a couple of other cool features which I really find very useful when working command line (i.e. always!). The first I’m gonna list here is setting the prompt itself by typing –

\R [...]

Benchmarking Drizzle with MyBench(DBD::drizzle)

With thanks to Patrick Galbraith and his DBD::drizzle 0.200 I am now able to test client benchmarks side by side with MySQL and Drizzle.

For simple benchmarking with clients, generally when I have little time, I use a simple Perl framework mybench. I was able to change just the connection string and run tests.

The diff of my two scripts where:

---
> my $user      = $opt{u} || "appuser";
> my $pass      = $opt{p} || "password";
> my $port      = $opt{P} || 3306;
> my $dsn       = "DBI:mysql:$db:$host;port=$port";
---
< my $user      = $opt{u} || "root";
< my $pass      = $opt{p} || "";
< my $port      = $opt{P} || 4427;
< my $dsn       = "DBI:drizzle:$db:$host;port=$port";
---

It’s too early to tell what improvement Drizzle will make. Just running my …

[Read more]
OpenSQL Camp 2009: List of current session proposals; keep them coming!

I've now posted all the current talk submissions to the OpenSQL Camp Wiki. A big Thank You to everyone who contributed so far and helped us to bang the drum for this event! If you haven't heard about OpenSQL Camp yet, it's a subconference of the Free and Open Source Conference (FrOSCon) in St. Augustin, Germany, which takes place on August 22+23. The topic of OpenSQL Camp is "Open Source databases and related technologies" and we're looking for interesting presentations in this field.

As we have 12 session slots to fill, we still have room for at least 6 more submissions! It's also a tad bit MySQL-centric at the moment, that should definitely change! We would love to get some more diversity to cover a broader range of Open Source Database technology.

So please submit your talk proposals and help …

[Read more]
MySQL University: Starring Sakila - A Data Warehouse Mini-Tutorial

This Thursday (July 2nd, 13:00 UTC), Roland Bouman will will take the Sakila sample database and explain how to design and load a data warehouse for it, and how to use that to create those reports and charts that make managers smile. Along the way, he'll explain often uttered terms and concepts such as dimensional model, denormalization, star schema, OLAP, data staging, business intelligence, ETL and data integration. Roland's session is titled Starring Sakila - A Data Warehouse Mini-Tutorial.

For MySQL University sessions, point your browser to this page. You need a browser with …

[Read more]
MySQL University: Starring Sakila - A Data Warehouse Mini-Tutorial

This Thursday (July 2nd, 13:00 UTC), Roland Bouman will will take the Sakila sample database and explain how to design and load a data warehouse for it, and how to use that to create those reports and charts that make managers smile. Along the way, he'll explain often uttered terms and concepts such as dimensional model, denormalization, star schema, OLAP, data staging, business intelligence, ETL and data integration. Roland's session is titled Starring Sakila - A Data Warehouse Mini-Tutorial.

For MySQL University sessions, point your browser to this page. You need a browser with …

[Read more]
Contributing to MySQL

If interested in contributing code to MySQL, you should attend the MySQL University session on contributing code to MySQL.

(Live broadcast with Q&A will be held on Thursday, June 25, 2009. You can still have access to rebroadcasts afterwards.)