I've created a very simple MySQL scanning module for the
metasploit framework.
1. Download the mysql_version file and rename it to
mysql_version.rb and put it in the
framework-3.2/modules/auxiliary/scanner/mysql directory of your
metasploit installation.
http://compukid.no-ip.org/dev/scripts/mysql_version
2. Use using msfcli
./msfcli auxiliary/scanner/mysql/mysql_version RHOSTS=192.168.0.1
E
[*] 192.168.0.1:3306, MySQL server version: 5.0.81-1-log
(Protocol 10)
3. More options:
set THREADS to 10 and RHOSTS to 192.168.0.0/24 to scan a whole
network.
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
Not so long ago, in a galaxy not very far away... a middle-aged
programmer battled to free memory from the dark side of the
hibernate query cache. He was successful, or so it seemed.
For the query cache memory problems had risen from the ashes --
stronger and more bloated than ever...
What's With All This Garbage?
We hit a case at work (again), where the java server process came
to a grinding halt. It wasn't dead, it just wasn't making
much forward progress either. A quick look at the heap
stats showed we were nearly at capacity and that garbage
collection was eating all CPU time, thus not allowing any real
work to happen. Looks like it is time to whip out the ol'
memory profiler. This time I went with Eclipse's Memory Analysis
Tool . …
How would you like to use MySQL
Sandbox to deploy and test any replication topology
imaginable? Do you want to describe load balancer and proxy
configurations, too? If you already love sandbox (or even if you
don't), and you want to play with arbitrarily complex
replication/proxy topologies... read on.
Sandbox Is Your Friend
MySQL Sandbox is a great tool. As of this writing,
version 3 is feature complete -- and the new features are greatly
desired. Replication support has been there a while for
master/slave setups with as many slaves as you want and for
replication rings of any size. Version 3 adds multi-level
replication trees on a multi-sandbox using sbtool.
But what if the provided replication setups do not quite match
what you need? Granted, I'll argue they are …
This article accompanies the slides from a presentation on database sharding. Sharding is a technique used for horizontal scaling of databases we are using at Netlog. If you’re interested in high performance, scalability, MySQL, php, caching, partitioning, Sphinx, federation or Netlog, read on …
This presentation was given at the second day of FOSDEM 2009 in Brussels. FOSDEM is an annual conference on open source software with about 5000 hackers. I was invited by Kris Buytaert and Lenz Grimmer to give a talk in the MySQL Dev Room. The talk was based …
[Read more]Here are the slides from yesterday’s presentation about horizontal database scaling through sharding at the mySQL dev room at FOSDEM 2009.
I’ve got a ton of notes and remarks to these slides, which will become available here soon.
Everyone and their mother are throwing out their predictions for 2009 nowadays, itâ€s a new fad. Itâ€s like youâ€re not cool anymore if you donâ€t have twitter, a Mac, and a set of random predictions for the next 12 joyous months.
So I decided to throw in a few ideas of my own to be part of the cool crowd again (how much cooler can I be already, you might think, and I wouldnâ€t blame you).
Disclaimer (read it, tough guy)
What this post is:
- about the future of technology and the Internet, 2009 and beyond.
- my ideas on what is going to happen or should happen. If they happen to match someone elseâ€s ideas – it doesnâ€t mean I ripped them off, it just means we share the same opinions and theyâ€re more likely to come true.
- awesome.
What this post is not:
- …
You Mean, Memory Is Not Infinite? We're working hard getting
MySQL Enterprise Monitor 2.0, featuring Query
Analyzer, ready for release. As part of that, we started
really ramping up the number of MySQL servers reporting in query
data to see how we could scale. Not surprising (to me, anyway),
the first efforts did not go so well. My old friend
OutOfMemoryError reared its ugly head once again.
Query Cache -- It's More Than Just Results! We're big (ab)users
of hibernate query caching, and more importantly to us the
natural id optimized query cache. Firing up
the profiler, I was not shocked to see that the second level
(let's call it L2) and query caches were hogging the majority of
memory. But, something didn't smell right...
What I was seeing was tons of …
I was doing some multi-threaded, multi-transactional testing for
the backend of the MySQL Enterprise Monitor. I came across a
weird failure, where it appeared I was able to successfully
insert a row, and then (in the same transaction), a select from
the same table did not return any rows.
Consider the following transactions:
mysql> create table t1 (id integer primary key auto_increment,
name varchar(32) unique) engine=innodb;
a> begin;
b> begin;
b> select * from t1;
a> insert into t1 values(null, 'oldag');
b> insert into t1 values(null, 'oldag) on duplicate key update
id=LAST_INSERT_ID(id);
(b blocks)
a> commit;
(b is released)
...
Query OK, 0 rows affected (0.00 sec)
b> select * from t1;
Empty set (0.00 sec)
what, what, …
I was running an import script today taken from a mysqldump from another user, when I saw an error that looked like this:
ERROR 1005 (HY000) at line 123: Cant create table (errno: 150)
This is caused by a mysqldump or export process exporting tables in alphabetical order and not in the order in which they rely on one another. My tables had foreign keys which fail on import if the other table doesn't exist when you create the table with the key. In this case I was only importing six or eight tables so I simply opened the script in a text editor and re-ordered the import blocks. On a bigger scale a more technical solution might be required!
Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist. This post was originally published at LornaJane
I work on the MySQL Enterprise Tools team, formerly of MySQL and now with
Sun
Microsystems. The 2.0 version of the Enterprise Monitor is
well under way. As part of this, the Java server backend has been
refactored to utilize Spring and Hibernate. Honestly, I didn't know either one
of those technologies before starting this project. Oh, what a
fun road it has been...
A big draw for using an off-the-shelf ORM was so that we didn't
have to write our own (kind of bad and slightly wrong -- those
darn transactions) caching implementations for the custom one-off
ORM that existed previously. A lot of our internal meta-model is
very static, so …