如果经常会遇到数据库的迁移,如果是相同数据库,相同版本,就相对很简单,参考我的
但是如果mysql的不同的版本,或者是需要不同database之间,比如说是mysql到mssql,那么就不可以直接使用上述提到的方法。但是我们可以使用csv作为中间媒介,就是先将数据库中每个表导出到一个csv文件,然后再导入目的数据库的表中。
这个稍稍有点麻烦,因为不是一次过整个数据库,而是一个表一个表。
1.从数据库导出csv
SELECT * INTO OUTFILE 'table1.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY ‘\\’
LINES TERMINATED BY '\n'
FROM users
上面的命令就是从users这个表中导出所有的数据到table.csv这个文件,不要自己去指定路径,我尝试过,说权限有问题。在windows下面是在
C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.6\data\【你的数据库的名字】
其中内容如下:
"1", "myname" "my password" "contact number"
这只是其中一行,每条记录一行。
2. csv导入到数据库
load data local infile 'table1.csv' into table users fields terminated by ',' enclosed by '"' lines terminated by '\n';
完