MYSQL数据的导出导入与版本的转换

  一、Mysql 数据的导出

  有的站长经常用一种最直接的办法就是拷贝数据库文件夹的办法,这个方法确实简单,但是不提倡,在跨版本或者跨不同字符集系统是很容易出问题。再说了数据库4.1版本有两种存储数据的方式在配置的时候可选,一种是和以前一样的每个数据库存放在单独的文件夹里,另一种叫什么来着我忘了,这种所有的数据库都放在一个文件里,巨大的一个文件!,所以对于后者就不可以用拷贝的方法了,用什么呢?下面介绍:

  就是mysql 自带的工具 mysqldump ,这个工具十分强大,可以导出数据,并且可以导出不同版本的数据、也可以导出用于其他数据库的数据,太牛了。 这个工具实在命令行、cmd下用的 ,如果你的msyql/bin目录没有配置在系统的环境变量里,就先cd到mysql/bin目录。

  1、先介绍简单得导出:mysqldump -u 数据库用户名 -p 数据库名称 [表名] > 导出到文件的路径名。

  例如:我要导出 test_db 这个数据库 我的数据库用户为 root 没有密码(没有密码就不用加 -p 了):

  mysqldump -u root test_db > c:\test.sql 这样就可以到处test这个数据库了。

  如果我要导出test数据库中的user 表用ajin这个用户,密码是 123

  mysqldump -u ajin -p test_db user >c:\test_user_table.sql 回车后提示输入密码就可以了。

  2、在导出过程中改变数据库默认的字符集

  例如:我要导出 test_db 这个数据库 转换编码为 utf8 (utf8 我最常用的)

  mysqldump -u ajin -p --default-character-set=utf8 test_db >c:\test.sql 就可以了

  转换成其他字符只需替换 utf8 就可以了。

  3、导出不同版本数据或者导出给数据库用的数据

  例如:我的数据库 Mysql 4.1 的 我要导出一个 默认字符集 utf8 的 4.0版本的数据

  mysqldump -u ajin -p test_db --compatible=mysql40 --default-character-set=utf8 test_db >c:\test.sql

  就可完成了所谓的降级 --compatible= 可以跟得参数有 mysql323 mysql40 oracle mssql db2 等等。

  导出就介绍这些常用的,其实还有好多好多。。省略一千字.....

  二、数据的导入

  这个相对就比较简单了,这个在命令行、cmd下用的,如果你的msyql/bin目录没有配置在系统的环境变量里,就先cd到mysql/bin目录。

  比如我要导入 test.sql 这个数据到discuz_db这个数据库

  mysql -u ajin -p discuz_db