需求:
在本地电脑上的mysql中创建了一个数据库,并且在该数据库中创建了很多表,表中数据比较多;
现在想换一台电脑,但是又不想重新建数据库、建表、造数据。
解决方案:
利用mysql提供的命令,在本地将所需数据和表导出成.sql文件;
然后在另外一台电脑中使用mysql提供的命令,将导出的.sql文件导入,这样就能生成和原来电脑中一模一样的数据库、表和数据了。
一、准备工作:
进入到安装目录mysql/sbin下,启动mysql服务:
二、将数据导出成.sql文件
0、在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看:
mysqldump
1、最常用的:
【windows下:】mysqldump -uroot -p123456 databasefoo table1 table2 > e:\foo.sql
【linux下:】 mysqldump -uroot -p123456 databasefoo table1 table2 > e:/foo.sql
这样就可以将数据库databasefoo的表table1,table2以sql形式导入foo.sql中;
其中-uroot参数表示访问数据库的用户名是root,-p参数表示访问数据库的密码是123456;
C:\Users\jack> mysqldump -uroot -pmysql sva_rec date_drv > e:\date_drv.sql
2、导出整个数据库
【格式:】mysqldump -u用户名 -p密码 数据库名 > 导出的文件名
【windows下:】C:\Users\jack> mysqldump -uroot -p123456 sva_rec > e:\sva_rec.sql
【linux下: 在安装目录mysql/bin下输入命令】mysqldump -uroot -p123456 sva_rec > /home/hadoop/test/sva_rec.sql
3、导出一个表,包括表结构和数据
【格式:】mysqldump -u用户名 -p 密码 数据库名 表名> 导出的文件名
【windows下:】C:\Users\jack> mysqldump -uroot -pmysql sva_rec date_rec_drv> e:\date_rec_drv.sql
【linux下: 在安装目录mysql/bin下输入命令】 mysqldump -uroot -pmysql sva_rec date_rec_drv> /home/hadoop/test/date_rec_drv.sql
4、导出一个数据库结构
【windows下:】C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec > e:\sva_rec.sql
【linux下: 在安装目录mysql/bin下输入命令】 mysqldump -uroot -pmysql -d sva_rec > /home/hadoop/test/sva_rec.sql
5、导出一个表,只有表结构
【格式:】mysqldump -u用户名 -p 密码 -d数据库名 表名> 导出的文件名
【windows下:】C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec date_rec_drv> e:\date_rec_drv.sql
【linux下: 在安装目录mysql/bin下输入命令】 mysqldump -uroot -pmysql -d sva_rec date_rec_drv> /home/hadoop/test/date_rec_drv.sql
三、将.sql文件导入
第一种导入方式:(推荐)
(linux下和Windows 下语法是一样的,只是路劲的书写方式不同而已)
1、创建一个空数据库
2、进入MySQL安装目录bin下
3、导入命令 mysql -uroot –p密码 数据库名 < 要导入的表数据(d:\bbs.sql)(将选定的表导入到指定的数据库)
mysql -uroot –p123456 databaseName < d:\dump.sql (window)
mysql -uroot –p123456 databaseName < /dump.sql (Linux)
4、导入命令: mysql -u用户名 -p密码 < 要导入的数据库数据
mysql -uroot -p123456 < d:\dump.sql (window)
mysql -uroot -p123456 < /dump.sql (linux)
(将备份出来的数据库导入,这里没有写数据库名,也可以写但要求是要写同样的名称)
第二种导入方式:(常用source 命令)
需要先进入mysql数据库控制台:
如mysql -uroot -p123456
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
(window) mysql>source d:wcnc_db.sql
(linux) mysql>source /data/wcnc_db.sql