设为首页 收藏本站
查看: 2521|回复: 0

[经验分享] ERROR 1813 (HY000) at line 404: Tablespace for table '`xxx`.`xxxxx`' exists.

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-3-10 15:14:27 | 显示全部楼层 |阅读模式
1
2

今天在进行mysql备份实验时,通过mysqldump命令将主机host1中的所有数据库备份到主机Host2中,
在执行命令时出现了如下错误信息。

1
2
3
4
5
[iyunv@localhost tmp]# mysqldump -h 192.168.5.22 -u root --password=1234 --all-databases|
mysql -h 192.168.5.33 -uroot --password=1234
ERROR 1813 (HY000) at line 404: Tablespace for table '`mysql`.`innodb_index_stats`' exists.
Please DISCARD the tablespace before IMPORT.
mysqldump: Got errno 32 on write



  这个错误是说数据库mysql.innodb_index_stats 的表空间已经存在,在导入数据之前需要将这个表空间释放到。根据提示,进入到主机Host2中数据库存放目录中手工删除这些文件,操作如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[iyunv@localhost ~]# cd /var/lib/mysql/mysql
[iyunv@localhost mysql]# ls
columns_priv.frm   help_relation.frm       procs_priv.frm            time_zone.frm
columns_priv.MYD   help_relation.MYD       procs_priv.MYD            time_zone_leap_second.frm
columns_priv.MYI   help_relation.MYI       procs_priv.MYI            time_zone_leap_second.MYD
db.frm             help_topic.frm          proxies_priv.frm          time_zone_leap_second.MYI
db.MYD             help_topic.MYD          proxies_priv.MYD          time_zone.MYD
db.MYI             help_topic.MYI          proxies_priv.MYI          time_zone.MYI
event.frm          host.frm                servers.frm               time_zone_name.frm
event.MYD          host.MYD                servers.MYD               time_zone_name.MYD
event.MYI          host.MYI                servers.MYI               time_zone_name.MYI
func.frm           innodb_index_stats.ibd  slave_master_info.frm     time_zone_transition.frm
func.MYD           innodb_table_stats.frm  slave_master_info.ibd     time_zone_transition.MYD
func.MYI           innodb_table_stats.ibd  slave_relay_log_info.frm  time_zone_transition.MYI
general_log.CSM    ndb_binlog_index.frm    slave_relay_log_info.ibd  time_zone_transition_type.frm
general_log.CSV    ndb_binlog_index.MYD    slave_worker_info.frm     time_zone_transition_type.MYD
general_log.frm    ndb_binlog_index.MYI    slave_worker_info.ibd     time_zone_transition_type.MYI
help_category.frm  plugin.frm              slow_log.CSM              user.frm
help_category.MYD  plugin.MYD              slow_log.CSV              user.MYD
help_category.MYI  plugin.MYI              slow_log.frm              user.MYI
help_keyword.frm   proc.frm                tables_priv.frm
help_keyword.MYD   proc.MYD                tables_priv.MYD
help_keyword.MYI   proc.MYI                tables_priv.MYI
[iyunv@localhost mysql]# mv innodb_index_stats.ibd  /tmp #这里将文件剪切到/tmp目录中去
[iyunv@localhost mysql]# service mysql restart
Shutting down MySQL..                                      [  OK  ]
Starting MySQL.                                            [  OK  ]



重启完成后,进入主机Host1中再次执行备份命令,这时又出现了以下错误:
1
2
3
4
[iyunv@localhost tmp]# mysqldump -h 192.168.5.22 -u root --password=1234 --all-databases|mysql -h 192.168.5.33 -uroot --password=1234
Warning: Using a password on the command line interface can be insecure.
Warning: Using a password on the command line interface can be insecure.
ERROR 1813 (HY000) at line 434: Tablespace for table '`mysql`.`innodb_table_stats`' exists. Please DISCARD the tablespace before IMPORT.



于是再次进入Host2中,删除innodb_table_stats文件,删除之后再次重启mysql服务器
1
2
3
4
[iyunv@localhost mysql]# mv innodb_table_stats.ibd  /tmp
[iyunv@localhost mysql]# service mysql restart
Shutting down MySQL..                                      [  OK  ]
Starting MySQL.                                            [  OK  ]



之后,再次进入Host1中执行备份命令,又会出现新的表错误信息,在Host2中执行同样的操作,依次删除文件slave_master_info、slave_relay_log_info、slave_worker_info后,直至不在出现错误信息,主机host1中的数据库全部复制到主机Host2中。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
## 主机Host1执行的操作
[iyunv@localhost tmp]# mysqldump -h 192.168.5.22 -u root --password=1234 --all-databases|mysql -h 192.168.5.33 -uroot --password=1234
Warning: Using a password on the command line interface can be insecure.
Warning: Using a password on the command line interface can be insecure.
ERROR 1813 (HY000) at line 647: Tablespace for table '`mysql`.`slave_master_info`' exists. Please DISCARD the tablespace before IMPORT.
[iyunv@localhost tmp]# mysqldump -h 192.168.5.22 -u root --password=1234 --all-databases|mysql -h 192.168.5.33 -uroot --password=1234
Warning: Using a password on the command line interface can be insecure.
Warning: Using a password on the command line interface can be insecure.
ERROR 1813 (HY000) at line 691: Tablespace for table '`mysql`.`slave_relay_log_info`' exists. Please DISCARD the tablespace before IMPORT.
[iyunv@localhost tmp]# mysqldump -h 192.168.5.22 -u root --password=1234 --all-databases|mysql -h 192.168.5.33 -uroot --password=1234
Warning: Using a password on the command line interface can be insecure.
Warning: Using a password on the command line interface can be insecure.
ERROR 1813 (HY000) at line 720: Tablespace for table '`mysql`.`slave_worker_info`' exists. Please DISCARD the tablespace before IMPORT.
[iyunv@localhost tmp]# mysqldump -h 192.168.5.22 -u root --password=1234 --all-databases|mysql -h 192.168.5.33 -uroot --password=1234
Warning: Using a password on the command line interface can be insecure.
Warning: Using a password on the command line interface can be insecure.
[iyunv@localhost tmp]#

## 主机Host2中执行的操作

[iyunv@localhost mysql]# mv innodb_table_stats.ibd  /tmp
[iyunv@localhost mysql]# service mysql restart
Shutting down MySQL..                                      [  OK  ]
Starting MySQL.                                            [  OK  ]
[iyunv@localhost mysql]# mv slave_master_info.ibd /tmp
[iyunv@localhost mysql]# service mysql restart
Shutting down MySQL..                                      [  OK  ]
Starting MySQL.                                            [  OK  ]
[iyunv@localhost mysql]# mv slave_relay_log_info.ibd /tmp
[iyunv@localhost mysql]# service mysql restart
Shutting down MySQL..                                      [  OK  ]
Starting MySQL.                                            [  OK  ]
[iyunv@localhost mysql]# mv slave_worker_info.ibd /tmp
[iyunv@localhost mysql]# service mysql restart
Shutting down MySQL..                                      [  OK  ]
Starting MySQL.                                            [  OK  ]



解决流程如下:   
  1、关闭所有mysql操作,停止mysql服务。
  2、找到安装目录下的数据库文件,应该在你安装目录下的data文件夹下,然后打开你对应的数据库名的文件夹。找到那个表对应的文件,将其删除。数据库中的文件名,应该是和你的表名一一对应的,一个表,两个文件,一个数据文件,一个是日志文件,除了这个还有一个“db.opt”文件不要删除。其他的乱码的文件,和原来你出错的文件全部删除。
3、完了以后重新启动mysql服务,重新添加那个同样名字的表就可以添加成功了。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-350628-1-1.html 上篇帖子: ubuntu安装msyql 下篇帖子: mysql数据库引擎 MyISAM和 InnoDB区别
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表