Can I use xtrabackup to import a database without altering others?
What you need is partial backups.
innodb_file_per_table=ON is a prerequisite to make it work.

In your case procedure would be like following:

Take a partial backup from the production server

innobackupex --databases="mydatabase" /path/to/backup


On the destination server prepare the backup copy for export:

innobackupex --apply-log --export /path/to/backup


For each table repeat these steps:

create a new table with the same structure (get it from the production server with mysqldump -t production or SHOW CREATE TABLE t)

demo_1874&gt; CREATE TABLE t (...) ENGINE=InnoDB;


Discard tablespace that InnoDB has

demo_1874&gt; ALTER TABLE mydatabase.mytable DISCARD TABLESPACE; created.


Copy t.* files from partial backup to /var/lib/mysql/demo_1874, chown mysql:mysql them, and import the tablespace from the partial backup

demo_1874&gt; ALTER TABLE t IMPORT TABLESPACE;


Consult http://www.percona.com/doc/percona-xtrabackup/2.2/innobackupex/partial_backups_innobackupex.html for more details.