Showing entries 36281 to 36290 of 44920
« 10 Newer Entries | 10 Older Entries »
IPV6 support for MySQL

Today I finally had some time to go back and work on refactoring the patch Milos did for his Google Summer of Code project for MySQL. I started doing this about a month ago but hit a snag with my time and wasn't able to get back to it.

Well...

[brian@zim client]$ ./mysql --protocol=tcp --host=::1 --user=root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.2.6-alpha-debug-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>




So now it is just a matter of a few more cleanups to make it work. I fixed the localhost hack to handle issues with ipv6 having a different scheme for 127.0.01.
I've dropped a source tarball here:

[Read more]
Japan: Be Quick! 20% Off Certification Exams

Following up on the release of the Japanese versions of the certification exams, our Japan office has decided to run a campaign with a 20% discount off the exam price.

You gotta be quick, though… this is only for the first 100 takers!

One thing about this campaign that’s pretty cool is that you get a choice: You can either take a straight discount, reducing the exam price by 20% up-front. Or you can pick another option and get a gift card to Amazon for the same value.

More information (in Japanese, of course) available here.

Workbench beta adventure on Linux with Mono/WINE

MySQL Workbench has a beta out! No idea why its version 5.0.9, but its highly exciting. This software existed before, but this is quite unlike its predecessor. One snag for me is that it is Windows-only at the moment, with Linux and OS X versions to follow suit.

However, due to excitement, I decided to try running it on Linux, anyway.

Seeing that it is a .NET application, I thought I’d pass it through MoMA (the migration analyser). Everything passed, so I got excited. Running mono MySQLWorkbench.exe however, led me to a failure:
** ERROR **: Method ‘<Module>:<CrtImplementationDetails>.DoDllLanguageSupportValidation ()’ in assembly ‘/home/byte/Downloads/MySQL Workbench 5.0.9 OSS …

[Read more]
When starting out building an application should I use Complex Joins?

I get questions on how to build mysql application from time to time, and I wanted to share the response to the question below.



In the beginning, should a developer try and stay away from complex JOINS? Is it better to use many smaller queries and cache the results (using something like memcached) rather than 1 larger query requiring multiple table JOINS?

Needing to scale for millions of users is a great problem to have, but should I worry about it in the beginning? Whats the best approach to db design for day 1?



Well IMHO build the application, build it to spec. When the scope changes (and this will always happen) flow with it. This is in no means a knock against Product-I actually look forward to this, because things are being discussed and if something needs to change lets do it!

Now how to build the application to scale: Look at the scope of a page …

[Read more]
My Blog is on PlanetMySQL!!1oneone!!1

Firstly, I'd like to thank Jay Pipes for adding me to planetmysql. If you came to my blog through this website, then welcome. I promise I will try to continue to write good quality posts and maybe even use the spell checker from time to time.

So let me introduce myself. My name is Jonathan and I am currently employed by a company that owns a online hotel-reservation system. I have been living in Beijing, China for the last year and soon plan to move back to the UK. I am creative at finding solutions to problems and I use this blog to express my ideas. I started this blog to try to contribute back to the MySQL community by coming up with new ideas and hopefully implementing them as well.

So the purpose of this post is to highlight my previous posts (my greatest hits).

[Read more]
DRBD storm

These days, DRBD is a popular way of achieving HA without having to pay for a SAN and it plays nicely with MySQL. DRBD uses a network connection to mirror two disk partitions on two servers and can use a lot of bandwidth so, usually, the servers are connected through a crossover cable. Recently, I did an engagement where we were setting DRBD for a 100 GB partition on two servers hosted in one of the largest hosting company in the US. For extra reliability, the DRBD private network was using a bond of two Ethernet adapters on each servers.

For a reason that I am not aware of, the hosting company chose to use a VLAN for the private DRBD network instead of a pair of crossover cables. When we started the first DRBD synchronization, loading the private DRBD network at 110 MB/s. At that point, something interesting happened… Here is the explanation of the network engineer of the hosting company. Because of the bonding and the bonding mode chosen …

[Read more]
Controlling optimizer performance

The optimizer is the part of the mysql server whose responsibility is to discover the optimal plan (the execution oath) to solve an SQL query.
When dealing with joins there exist various execution paths depending on the number of tables involved. The number of possible plans to investigates grows exponentially with the number of tables. This is not a problem for queries with few tables (less than 10) but could be a serious problem when the number of tables climbs.
When dealing with dozens of tables the time spent to evaluate all possible plans to solve the query is longer than the execution of the query itself. Not good.
Starting from version 5.0.1 MySQL introduces a flexible method to avoid the possible bottleneck when you have lot of tables joined in a query.

Using the system variable optimizer_prune_level (possible values are 0 or 1) you can tell the optimizer to skip certain plans from being inspected based …

[Read more]
libeatmydata

Following my successful linux.conf.au talk “Eat My Data: How Everybody Gets POSIX File I/O Wrong“, I started to feel the need to easily be able to have my data eaten.

Okay, not quite. However, when you’ve written your software properly, so it uses fsync() correctly, opening files with O_SYNC or whatever - tests take longer as you’re having to wait for things to hit the rust.

So….. LD_PRELOAD=libeatmydata.so to the rescue! With a POSIX compliant fsync() (that does nothing) and filtering on open(2), it can take your test run times down dramatically.

The only time you shouldn’t use it for your tests is when you end up crashing the machine to test durability (i.e. when the OS doesn’t have the opportunity to cleanly write out the data to disk).

See the …

[Read more]
MySQL: How do I dump all tables in a database into separate files?

There have been numerous occasions where I needed to make backups of individual tables from selected database. Usually I can achieve this by typing: mysqldump database_name table1 > table1.sql mysqldump database_name table2 > table2.sql

This could be very painful if you have 10?s or 100?s of tables. Until today, I never ran into a situation where I [...]

[Read more]
Insert FUD, Subversion vs Distributed Software Development

Before I start this, I am going to begin by saying I know a number of the Subversion developers and they are good people who get it. I look at roadmap for Subversion and further see what is being done with SVK, and can see that Subversion is evolving to be a distributed revision control system. SVK would have pulled it kicking and screaming into that direction if the main developers hadn't decided to go that way, but they are smart and realize the need to evolve.

When I read blogs like Version Control and ?the 80%? I see though that they, being the Subversion community, are going have to go through an education process to get their own community on board. Points like:
No Windows support.
No GUIs
Too many commands.
Corporations are too centralized
No security.

It just goes to show that FUD is not only the domain of …

[Read more]
Showing entries 36281 to 36290 of 44920
« 10 Newer Entries | 10 Older Entries »