mysql資料庫遷移 mysqldump

myownstars發表於2011-04-26

Oracle資料泵用的多了,現在需要遷移mysql資料庫,而mysql自身也有類似的工具,其中之一就是mysqldump
首先要匯出源資料庫
Mysql採用dmp匯出/匯入資料庫

[root@db oracle]# mysqldump -p justin > justin.dmp
Enter password:
[root@db oracle]# ls -altr justin.dmp
-rw-r--r-- 1 root root 169585 04-26 17:03 justin.dmp


匯入到目標資料庫
[root@oracle ~]# mysql -h localhost -u root -p justin < justin.dmp
Enter password:
ERROR 1049 (42000): Unknown database 'justin'
必須先建立此資料庫
mysql> create database justin;
Query OK, 1 row affected (0.00 sec)
mysql> create table abc(name varchar(20));--建立了表abc,並插入資料,此表在源justin資料庫中存在
Query OK, 0 rows affected (0.05 sec)

mysql> insert into abc values('justin');
Query OK, 1 row affected (0.00 sec)

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from abc;
+--------+
| name   |
+--------+
| justin |
+--------+
1 row in set (0.00 sec)
匯入dmp檔案
[root@oracle ~]# mysql -h localhost -u root -p justin < justin.dmp
Enter password:
mysql> use justin
mysql> desc abc;--表abc被覆蓋
+--------------+---------------+------+-----+---------+-------+
| Field        | Type          | Null | Key | Default | Extra |
+--------------+---------------+------+-----+---------+-------+
| ID           | decimal(18,0) | NO   | PRI | NULL    |       |


結論: mysql匯入資料庫的dmp檔案時,該資料庫必須在目標資料庫中已經存在,且同名表會被覆蓋

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15480802/viewspace-693778/,如需轉載,請註明出處,否則將追究法律責任。

相關文章