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博客 ” ,链接:https://blog.itpub.net/15480802/viewspace-693778/ ,如需转载,请注明出处,否则将追究法律责任。