Showing entries 28676 to 28685 of 44079
« 10 Newer Entries | 10 Older Entries »
Migrating US Government applications from Oracle to MySQL

I just returned from a MySQL Federal Migration Boot Camp, jointly presented by Carahsoft and Sun/MySQL. It was a half-day seminar on the topic of migrating applications to MySQL, targeted to the US Government sector. Specifically, most of the audience seemed to be running Oracle, though there were some users of other systems (Microsoft SQL Server, Sybase, Informix, etc).

Ronald Bradford presented the whole thing. I thought he did a great job giving a fair and balanced look at topics such as what types of applications are good candidates for migration, what gotchas you might encounter, etc. I’m sure someone looking at migrating in earnest would benefit from a whole day’s discussion (or a more focused engagement with a consultant), but I thought it was a great way to help people figure out whether …

[Read more]
Understanding UNIV_LIKELY and other Optimization Macros in the Innodb Codebase

When you first start browsing the code for Innodb (a Mysql Storage Engine) you will notice several strange macros like UNIV_LIKELY popping up all over the place. Its good to get clear on what those mean so as not to distract you from understanding the actual logic of the code you are reading.

The set of macros described below all wrap GCC builtin functions which are used for performance optimization. The macros are defined as blank space on other platforms not supporting these builtin functions. The macros are in two categories the expect and prefetch macros which I will describe separately:

EXPECT MACROS

These macros take expressions and return the exact same value as the expression would return without the macros. From the user's point of view, they are the same as just enclosing the expression in an extra set of parenthesis. However the macros, provide hints to the optimizer about the expected value of …

[Read more]
Of Character Sets, MySQL, and localization woes…

Let’s say you need to do a website that must support multiple languages for cultures as diverse as Japan, France, Russia, Saudi Arabia, and Brazil, as well as the US. This can be quite a daunting task, with all kinds of unexpected gotchas.

The ideal character set of choice is, of course, UTF8. Alas, you will note that most of the systems you’ll need to use defaults to LATIN1, including MySQL. If your site is written in PHP, that also by default is set to LATIN1.

I find it quite puzzling that in this day and age of globalization that many of the tools don’t default to UTF8. And there are major issues with this, because everything in the chain of delivery must either be set to UTF8 or can handle UTF8 or you’ll see bizarreness when you attempt to display the characters of some languages. You will probably see a series of question marks (“??? ??? ?????”) instead of the actual words. Sometimes you may see a series of squares. …

[Read more]
Zend Server is here! (almost)

As I alluded in my New Year’s post we’ve been very busy working on a new product line which today we are unveiling as Zend Server. Zend Server is not a Zend Core or Zend Platform derivative (although it uses a small number of those components, mostly enhanced) rather it’s a new approach on how we want to develop, distribute, and service our production products.

The product has been built from the ground-up to enable easy provisioning on servers, all components can be updated which will enable better servicing of PHP and product components, we have created a community edition which includes real goodies like the management UI and Optimizer+ to make it a great runtime environment for developers and non-critical apps, and much more… Most important though, we see it as a way to develop the product much closer to our users and already in the 9+ month …

[Read more]
Waffle Grid: bugs & future features

As we have mentioned several times you probably know we are planning to migrate our development over to the innodb-plugin and start following the path of the storage engine.  That’s all well and good but what are the warts and bugs and things we are trying to fix?  Ahhh yes the seedy underbelly of Waffle Grid. The reason why we call it experimental.

Big on my list is going to be ensuring data integrity.  Currently you can manually ( or via some weird network corruption ) overwrite a good innodb page with an invalid one, the result? Well lets check it out:

Indic Languages and MySQL

I learned and played around a bit with the character sets in MySQL. What you see below is a simple MySQL test script to test the behaviour of MySQL with a couple of indic languages, I know- Bengali and Hindi. The key here is to create a column which will be using the 'utf8' character set and 'utf8_general_ci' collation:

CREATE TABLE t8 (c TEXT character set utf8 collate utf8_general_ci);
--warning WARN_DATA_TRUNCATED 

# Bengali
insert into t8 values(repeat('রবীন্দ্রনাথ ঠাকুর', 10000));

# Hindi
insert into t8 …
[Read more]
Indic Languages and MySQL

I learned and played around a bit with the character sets in MySQL. What you see below is a simple MySQL test script to test the behaviour of MySQL with a couple of indic languages, I know- Bengali and Hindi. The key here is to create a column which will be using the 'utf8' character set and 'utf8_general_ci' collation:

CREATE TABLE t8 (c TEXT character set utf8 collate utf8_general_ci);
--warning WARN_DATA_TRUNCATED 

# Bengali
insert into t8 values(repeat('রবীন্দ্রনাথ ঠাকুর', 10000));

# Hindi
insert into t8 …
[Read more]
MySQL University: Developing MySQL on Solaris/OpenSolaris

We have a MySQL University session later today, featuring me and Trond Norbye (who works on Memcached development).

Ostensibly we are talking about some of the tools and environment details of developing on Solaris and OpenSolaris, but with a MySQL focus.

I’ve just updated the Forge page with the requisite information and a copy of the slides if you need them. Here’s the abstract:

Developing MySQL on Solaris requires you to install a suitable compiler and other tools, but you may be surprised to know that most of the material is there already, or easy to install if it’s not. But even more so, there is a huge wealth of information that you can get about your application while it’s running, both with and without using more traditional debugging methods. We’ll cover setting up a suitable environment, where to find the things you …

[Read more]
KDE 4.2 brings the MySQL server to the desktop

If you’re using Fedora 10, and are a KDE desktop user, you’ll notice that your latest KDE 4.2 update, requires having a local MySQL server installed. This is due to Akonadi, part of the KDE PIM packages, that now rely on MySQL as a default server, for storing PIM data. Just a few months ago, I mentioned the news that Amarok 2 will also use MySQL as a default database.

Akonadi uses MySQL mainly as a cache, not as a data store. This is something that Debian users will also see. Eventually, anyone with KDE 4.2 will see the requirement to have a MySQL server installed. If you already have a native installation of MySQL provided for by your distribution (maintained by RPM/DPKG), it …

[Read more]
Permissions by interface on the local server

I had an issue come up recently that involved some confusion over permissions for the same user, connecting through different interfaces. For example, say you have a server with the public IP address of 192.168.0.1. You could connect to it from the local machine using the following commands:

shell> mysql -h localhost           # Connects through the socket file
shell> mysql -h 127.0.0.1           # Connects through the loopback interface
shell> mysql -h 192.168.0.1         # Connects through the network interface

They all connect to the local server, but they can all have different permissions. Here are a couple of rules to make your life easier:

  • Don’t use @127.0.0.1, unless you absolutely can’t use the socket file for some reason. Connecting through @localhost is usually faster than the loopback device, and it’s easier to type.
  • Only connect through the network interface if you’re planning on …
[Read more]
Showing entries 28676 to 28685 of 44079
« 10 Newer Entries | 10 Older Entries »