MySQL数据导入导出实例教程手册
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-27 15:48:38 浏览: 评论:0
mysql中数据库或数据的导入导出我们用到命令有mysqldump与source命令了,它们分别有自己的优点与作用,下面我来介绍利用mysqldump导出数据与利用source导入备份的数据.
mysqldump是mysql自带的一个数据导入导出工具,其官方注释为:
- shell> mysqldump [options] db_name [tbl_name ...]
- shell> mysqldump [options] –databases db_name …
- shell> mysqldump [options] –all-databases
使用mysqldump命令将整个数据库导出,代码如下:
mysqldump -h 127.0.0.1 -P 3306 -u root -p123456 crazyant –skip-lock-tables > crazyant.sql
其中-h后面是主机名,-P后面是端口号,-u后面是用户名,-p后面是密码,crazyant是要导出的数据库名.
由于导出过程中出现了这个错误:
mysqldump: Got error: 1044: Access denied for user 'root'@'127.0.0.1' to database 'crazyant' when using LOCK TABLE
所以在最后面,我加上了–skip-lock-tables这个选项,就没有错误了.
mysqldump命令导出时设定不需要导出的表,有时候一个数据库中有一些表我们不想导出,这时候可以使用mysqldump的–ignore-table命令来设定过滤的表,该参数的用法如下:
- –ignore-table=name Do not dump the specified table. To specify more than one
- table to ignore, use the directive multiple times, once
- for each table. Each table must be specified with both
- database and table names, e.g., //phpfensi.com
- –ignore-table=database.table.
可以看出其用法:
• –ignore-table=database.table
•每次只能指定一个表,如果要指定多个表,该选项需要写多次.
使用实例,代码如下:
- mysqldump -h 127.0.1.1 -P 3306 -u root -p123456 crazyant –skip-lock-tables –ignore-table=crazyant.table1 –ignore-table=crazyant.table2 –ignore-table=crazyant.table3 –ignore-table=crazyant.table4 > crazyant.sql
使用mysqldump命令只导出1个表或指定表的方法,也可以在mysqldump的database后面跟上要1个要导出的表,来只导出单个表,代码如下:
mysqldump -h 127.0.0.1 -P 3306 -u root -p123456 –skip-lock-tables crazyant table_a >dump_table_a.sql
也可以写上多个要导出的表,以空格分开它们即可,代码如下:
mysqldump -h 127.0.0.1 -P 3306 -u root -p123456 –skip-lock-tables crazyant table_a table_b >dump_two_tables.sql
可以看出,只要用“database_name tablename1 tablename2 tablename3”的方式写出导出数据库的表即可.
使用mysqldump命令只导出表结构的方法:
mysqldump还有一个选项能够只导出表的结构,而不导出表的内容:
-d, –no-data No row information
使用实例,代码如下:
mysqldump –opt -d -h 127.0.0.1 -P 3306 -u root -p123456 crazyant –skip-lock-tables
使用source命令导入数据:
使用mysql的source命令,可以将mysqldump的导出结果直接Load到数据表里面,使用方法如下:
- > mysql -h 127.0.1.1 -P 3306 -u root -p123456
- mysql> use crazyant;
- mysql> source /home/crazyant.net/mysqldump_crazyant.sql
这样就完成了导入,如果是全量导入,有时候有必要使用truncate table的方式先将数据清空.
总结:使用MySQL自带的mysqldump和source命令,能够很方便的将数据库的数据导出,也能够将导出的数据导入到库中.
Tags: MySQL导入数据 MySQL导出数据
相关文章
- ·mysql中导入数据load data在myisam与innodb区别(2014-09-23)
- ·mysql中常用命令导入导出数据命令(mysqldump,source)(2014-09-23)
- ·合理使用mysql中的load data infile导入数据(2014-09-25)
- ·MYSQL数据库的导出和导入方法详解(2014-10-04)
- ·mysql中导入数据与导出数据库sql语句(2014-10-09)
- ·mysql导入数据提示的MySQL server has gone away解决办法(2014-10-09)
- ·mysql导入数据库时出现40101错误解决方法(2014-10-10)
- ·mysql导入数据方法(txt,csv)(2014-10-13)
- ·mysql中导入较大数据简单实现代码(2014-10-13)
- ·MySQL中into outfile将导入数据到文件(2015-04-17)
- ·mysql导出数据库表结构命令详解(2014-09-27)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)