mysqldump只导出表结构或只导出数据的实现方法

avatar 2019年9月26日19:45:43 评论 1,157 次浏览

如果在还原数据库表结构的时候出现“ERROR 1874 (HY000): InnoDB is in read only mode.”错误是因为配置文件的问题。找到配置文件,修改

innodb_force_recovery=

把上面的语法都注释掉,然后重启,在导入表结构。

备份表结构的方法:

可以在MySQL的命令行下或在PHP程序中执行它。我下面以在mysql命令行下为例。在php中使用时,将其改成相应的查询进行处理即可。不过在使用这个命令时,要求用户拥有file的权限。如我们有一个库为phptest,其中有一个表为driver。现在要把driver卸成文件。执行命令:

mysql> use phptest;   
Database Changed   
mysql> select * from driver into outfile "a.txt";   
Query OK, 22 rows affected (0.05 sec)

mysql mysqldump 只导出表结构 不导出数据

mysqldump --opt -d 数据库名 -u root -p > xxx.sql

备份数据库

#mysqldump 数据库名 >数据库备份名 
#mysqldump -A -u用户名 -p密码 数据库名>数据库备份名 
#mysqldump -d -A --add-drop-table -uroot -p >xxx.sql

1.导出结构不导出数据

mysqldump --opt -d 数据库名 -u root -p > xxx.sql

2.导出数据不导出结构

mysqldump -t 数据库名 -uroot -p > xxx.sql

3.导出数据和表结构

mysqldump 数据库名 -uroot -p > xxx.sql

4.导出特定表的结构

mysqldump -uroot -p -B 数据库名 --table 表名 > xxx.sql

导入数据:

由于mysqldump导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了:

#mysql 数据库名 < 文件名 
#source /tmp/xxx.sql

 

 

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: