首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

关于Table 'user1' already exists的问题

下面是我的分析,如有错请大家指正,多谢
“备份数据库(test库)
%mysqldump test|gzip>/home/guest/mysql/test.20040923.gz  (test是库名)
%mysqldump test >/home/guest/mysql/test.20040923
删除库恢复
%mysql -u root test<test.20040923
如果不删除库,把表全删除也可以,但是表中如果有未删除的表,直接阻碍其下面的表的恢复,提示为表已存在。存在的表下面的表则不能恢复。
[root@localhost guest]# mysql -u root -f test<test.20040923 (强制恢复,不管有没有错误)
ERROR 1050 at line 31: Table 'user1' already exists
ERROR 1062 at line 42: Duplicate entry '1' for key 1
ERROR 1062 at line 43: Duplicate entry '2' for key 1  (不知道有没有问题)反正表是恢复了
[root@localhost guest]#

备份表(不对,好像备份的还是库)再增加几个表看看?????(备份的是----à表)
%mysqldump test user1 user>testlist.sql   (把test中的表user1 uset备份成tsetlist.sql)
恢复
删除user表
[root@localhost guest]# mysql -u root test<testlist.sql
ERROR 1050 at line 11: Table 'user1' already exists (这样只恢复user表,user1不变)
删除user1表
[root@localhost guest]# mysql -u root test<testlist.sql
ERROR 1050 at line 29: Table 'user' already exists
把user1,user都删除
[root@localhost guest]# mysql -u root test<testlist.sql
[root@localhost guest]#

增加user2,user3表,test库中现有user,user1,user2,user3四个表.
%mysqldump test user user1 user2 user3>testall.sql(把表都备份出来)
%mysqldump test user1 user2>testuser.sql(只把user1,user2备份出来)
备份成testall.sql,testuser.sql,
删除所有表后
[root@localhost guest]# mysql -u root test<testuser.sql,里面有user1,user2表
删除所有表后
[root@localhost guest]# mysql -u root test<testall.sql,有4个表。
但是如果库中有其他表则不行,如只有user1表,user2,user3则不能恢复,只有user2,则user3无法恢复,因为恢复到他们时系统提示表已存在,就终止了。而且不能恢复库中已有的表,就算表有改动也不行。”
我的问题是加 -f 会不会有问题,要不怎么完全恢复数据库,如大家还有高招请告诉我啊
昵称: 风度小骑  时间: 2004-11-12 17:24:00