如果在还原数据库表结构的时候出现“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