Month: April 2011

mysql ‘show table status’ via select

Just squirrelling this one away. The ‘show table status’ command is pretty cool, but sometimes I want to limit the amount of columns that are returned, or do something else like create ALTER TABLE commands to change the storage engine.

Just realized that the same information in ‘show table status’ is in the information_schema.tables table. So for example

select table_name, engine \
from information_schema.tables where table_schema = 'confluence';

Shows me all the tables and storage engines in the ‘confluence’ database.

And to create statements to alter the storage engine –

select concat('alter table ', table_name, ' engine = InnoDB;') from \
information_schema.tables where table_schema = 'confluence';

Also handy when creating commands like the above are the -B and -N options to the mysql command, which change the column separator to a tab (instead of pipe symbol) and turn off  column names.

mysql -B -N -u user -p -e \
  "select concat('alter table ', table_name, ' engine = InnoDB;') \
  from information_schema.tables where table_schema = 'confluence'" \
  > alter-tables.sql

Migrating OFF of Godaddy (without downtime)

I had been warned years ago about using Godaddy for domain and DNS management, but I went with them anyways because they were just easy to get started with. But I’ve been getting more and more angry with all the nickle and diming they are doing for features.

For example, they have just created a new “Premium DNS” service, which does offer some things like DNSSec (which I am not interested in), as well as allowing you to manage an unlimited number of DNS entries. Oh but up until now, with their Standard DNS you could manage unlimited DNS entries, but they have conveniently capped this now to 100 to force you to upgrade to Premium. And its not like you get a better tool to manage all those entries, its the same damn tool. And considering Premium DNS is like $4/month, it ends up being 2x or 3x more than it costs for just domain ownership.

I also have issue with charging for private registration, considering many other providers do this for free. Again, its a pretty expensive thing, relative to the cost of the domain itself.

Other providers also provide other interesting services like APIs, dynamic DNS, and so forth. All included in the base charge for the domain itself.

So, I have decided to move off of Godadddy. For now, I’m switching to Netfirms. They are inexpensive, and I had been using them already for some domain hosting with no problems. In the future, I may decide to switch to Namecheap or even Zoneedit. Namecheap has some great services, Zoneedit is super simple and inexpensive.

At any rate, last week I attempted the first domain transfer. It didn’t go very smooth, so here’s some tips to help others make it less painful.

Read all the Instructions you can find

Before you start a transfer, read all the instructions you can find about transfers both at Godaddy and your new registrar. What follows is not an extensive list of everything you need to do, instead just help to get around many of the pain points I experienced.

Disable Private Registration

Before you even think about doing anything else with another provider, make sure to disable Private Registration on the domain you are going to transfer. The transfer system between registrars appears to use the WHOIS information to verify ownership and use the contact information to send information & transfer instructions. I did this after I engaged the transfer with Netfirms, which caused a few issues because Netfirms tried to send information to the private registration email address contained in the WHOIS information and I had to get Netfirms support to restart the process.

Make sure your WHOIS information is accurate

At least make sure your email addresses are accurate, again before you engage with any other registrar. For the previous reasons mentioned.

Export your DNS entries

I didn’t really grasp this before I started the process, but Domain Registration and DNS are two separate services. When you transfer your domain, you are typically transferring domain registration to another registrar, and quite likely DNS does not transfer at the same time. This was certainly the case with Netfirms. And they subtly warned me by mentioning that my DNS servers would not change. Meh. No biggy, I’ll do that after the transfer.

The problem though is that once Godaddy stops serving your DNS, they just appear to discard your entries as well, so make sure to export them as well. Godaddy does provide this service in the DNS Manager. Its pretty straight forward, so just do it.

Migrate your DNS entries to backup or another DNS provider

As mentioned earlier, when Godaddy transfers your domain, they will no longer host your DNS for you. So as soon as the domain transfer was complete, there will be nothing to serve DNS for the domain. Fortunately I found this out when transferring a less essential domain and it was easy to rebuild my entries and wait a day for maps to update.

But I don’t want that to happen for my primary domain because it means mail won’t be delivered, web sites won’t be available, and so on.

I found a really good article from Namecheap on How to transfer a domain into Namecheap without a huge downtime. Essentially what you do is use their Free DNS service to host your DNS before you start the domain transfer. The article guides you through creating an account, approving a it for use to host your domain’s DNS and then how to generically point your registrar to use the Free DNS servers.

Its a little tricky to find the where to change DNS server settings in Godaddy. Its not in DNS Manager (I think they used to call it Total DNS Control), I could only add additional DNS servers, and that’s pretty much the only tool I use. Instead, you have to go to the Domain Manager, and look for a Set Nameservers link under either the Nameservers section, or in a pull down menu of the same name.  You can get a list of the Free DNS servers from the Namecheap site.

Now Begin the Transfer Process

Not until you have done all of the above should you look at starting the transfer process, and it should save you a lot of headaches when the process completes.

Migrate your DNS entries to the Target Servers

This is kind of optional, depending on how comfortable you feel with the Free DNS service. Its essentially  a process of copying all your DNS entries once again to the Registrar’s DNS servers, and then configuring your new registrar to use its own DNS servers for the domain.

Good Luck!

Hope this helps reduce frustration of a domain transfer. I am in the process of transferring my last domain, knock on wood it all goes well.