本文转自 如何导出和导入mysql数据(数据迁移)
这是其中一种方法,非常简单
1. 导出数据库数据
mysqldump -uroot -p dp_db > dumpout.sql
其中 root是账户名
dp_db是需要导出的数据库名称
dumpout.sql存储导出的数据
2. 将导出的数据dumpout.sql放到你的目标机器上(如果是远程目标机器的话,直接将dunmpout.sql copy到目标机器就行)。这里假设cp到主目录下~/
3. 在目标机器的数据库里建立新数据库,这里建立名为dp_db_bak的数据库
mysql> create database dp_db_bak
4. 向dp_db_bak数据库导入数据
mysql -uroot -p dp_db_bak < ~/dumpout.sql
其中 root是账户名
db_db_bak是新数据库
~/dumpout.sql是第一步导出的数据
P.S. 如果在导入导出数据的时候遇到文件太大异常退出的情况,可使用split/cat来进行文件的分割和合并
mysqldump -uroot -p dp_db | split -b 10m - tempfile
cat all_tempfile > targetfile
其他方法:
Mysql source命令在导入大数据时显得非常有用。虽然Mysql Administrator软件也不错,但就稳定性和效率性来说还是source占优。
使用方法:
Windows下将sql数据库备份拷贝到磁盘目录如:D:\db.sql,cmd进入命令行。
1、先使用命令mysql -uroot -p登陆mysql服务器
2、然后执行相关命令导入数据。
mysql> set names utf8; //设置编码
mysql> source D:\db.sql; //导入数据
ok,完成。当然数据库备份用Mysql Administrator是非常方便的
Mysql导出表结构及表数据 mysqldump用法
命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 數據库名 表名 脚本名;
1、导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql)
mysqldump -uroot -pdbpasswd -d dbname >db.sql;
2、导出數據库為dbname某张表(test)结构
mysqldump -uroot -pdbpasswd -d dbname test>db.sql;
3、导出數據库為dbname所有表结构及表數據(不加-d)
mysqldump -uroot -pdbpasswd dbname >db.sql;
4、导出數據库為dbname某张表(test)结构及表數據(不加-d)
mysqldump -uroot -pdbpasswd dbname test>db.sql;
指定分隔符导出数据(貌似必须在本机才能正常执行),步骤:
1. cd /tmp
2. mkdir mysqldata
3. chown mysql:mysql mysqldata
4. mysqldump -h127.0.0.1 -uroot -p123456 -T/mysqldata/ --fields-terminated-by=@@, dbname tablename
1、导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql)
mysqldump -uroot -pdbpasswd -d dbname >db.sql;
2、导出數據库為dbname某张表(test)结构
mysqldump -uroot -pdbpasswd -d dbname test>db.sql;
3、导出數據库為dbname所有表结构及表數據(不加-d)
mysqldump -uroot -pdbpasswd dbname >db.sql;
4、导出數據库為dbname某张表(test)结构及表數據(不加-d)
mysqldump -uroot -pdbpasswd dbname test>db.sql;
指定分隔符导出数据(貌似必须在本机才能正常执行),步骤:
1. cd /tmp
2. mkdir mysqldata
3. chown mysql:mysql mysqldata
4. mysqldump -h127.0.0.1 -uroot -p123456 -T/mysqldata/ --fields-terminated-by=@@, dbname tablename