1.导出数据
mysqldump 是 mysql 用于转存储数据库的实用程序。它主要产生一个 SQL 脚本,其中包含从头重新创建数据库所必需的命令 CREATE TABLE INSERT 等。
使用 mysqldump 导出数据需要使用 --tab 选项来指定导出文件指定的目录,该目标必须是可写的。
例如: 把myschool数据库,导出到myschool.sql中。
mysqldump -uroot -proot myschool > myschool.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
这里提示,在命令行输入密码是不安全的。我们可以在p后不显式输入密码。
mysqldump -uroot -p myschool > myschool.sql
Enter password: ****
如果需要备份所有数据库,可以使用以下命令:
mysqldump -u root -p --all-databases > database_dump.sql
password ******
注意:以上导出方式是不包含存储过程的。 导出存储过程可以使用以下命令:
mysqldump -u 数据库用户名 -p -n -t -d -R --triggers=false 数据库名 > 文件名
这样单独把存储过程和函数导出。
2.导入数据 source 命令导入数据库需要先登录到数库终端。 例如:把刚才导出的myschool.sql再还原到数据库中。
mysql -hlocalhost -uroot -proot
#切换数据库
mysql>use myschool;
#使用source命令还原数据库
mysql>source d:\uploadFiles\myschool.sql
当然,如果使用了类似Navicat图形管理工具,我们仅仅需要选中要导入的数据库,在弹出菜单中选中'运行SQL文件..',即可方便地实现数据库的导入了。

以上方式导出的SQL脚本里可能不包含视图,存储过程和触发器这些数据库对象。如果使用navicat要导出所有的数据对象,可以使用navicat的数据传输功能。
1)选择navicat的工具->数据传输
2)选择源和目标,目标为SQL脚本文件。

3)选择数据对象

4)导出数据对象到文件
