Transfer will be a breeze.
If you have the facility to gzip your Yahoo files up you can wget/cURL them from shell straight into your Dreamhost account and setup the core to use your new environment.
The database is np - create one here for your files, change the config in the new site, and dump your current backup into it when you have everything setup this end already.
Downtime will be 2-3 hours (they say days in alot of literature, but it’s not that bad in this day and age) during DNS propagation and has nothing to do with the registrar. Changing registrars doesn’t affect downtime at all - it’s all to do with the DNS propagation.
If you have the ability to edit your nameservers, this is what I’d do.
Create a Dreamhost account (!!).
Setup your domain, user and database.
gzip and cURL your files from Yahoo! to your Dreamhost account.
Export your database at Y! and import it at Dreamhost.
Edit your configs to use the new Database.
Check your new Dreamhost site to make sure everything’s working correctly.
All good? Then change the DNS to point to Dreamhost !!
^ This is the couple hour “wait time” where some will still see Y!, some will see the new domain.
Now that your site is being served from Dreamhost you can Transfer your registration (this is the bit that can take up to 7 days). As your site is already being served from Dreamhost, the thing that takes the longest won’t affect your site or visitors at all. The process is entirely transparent to the end user.
Maximum Cash Discount on any plan with MAXCASH
How To Install PHP.INI / ionCube on DreamHost