Make a copy of all the plugins and themes that you need. If this on the same server it is easy. If not use rsync, scp or ftp.cp -r /old/path/to/wordpress/mu/wp-content/plugins/* /new/single/site/wordpress/wp-content/plugins/.cp -r /old/path/to/wordpress/mu/wp-content/themes/* /new/single/site/wordpress/wp-content/themes/.

Get the blog number of the old site. You can use the network admin and go to the Sites or /wp-admin/network/sites.php and the link to the blog will have ?id=#. This will be used to prefix the tables that are needed wp_#_tableName.

Copy over the existing data from the old database to the new onemysql -u root -p NewDb
mysql> INSERT INTO wp_commentmeta SELECT * FROM wpmu.wp_#_commentmeta;
mysql> INSERT INTO wp_comments SELECT * FROM wpmu.wp_#_comments;
mysql> INSERT INTO wp_links SELECT * FROM wpmu.wp_#_links;
mysql> INSERT INTO wp_posts SELECT * FROM wpmu.wp_posts;
mysql> INSERT INTO wp_term_relationships SELECT * FROM wpmu.wp_#_term_relationships;

To ensure that there is no wp_#_tableName in the data you may need to dump the DB and then search and replace that string then import it again.mysqldump -u root -p database > database.sqlsed -i 's/wp_#_/wp_/g' database.sqlmysql -u root -p database < database.sql

This assumes you have a new apache or nginx setup pointing to the old domain and the domain name is not changing. If you want to change the domain you can edit the wp_options tablemysql> UPDATE wp_options SET option_value = 'http://new.domain.name/' where option_name=siteurl;mysql> UPDATE wp_options SET option_value = 'http://new.domain.name/' where option_name=home;

That should do most of it. If you have issues turn on debug in the wp-config.php file, and get your google foo going, most wordpress issues have been addressed in the forums or elsewhere.