mysql 備份 還原

比如我有個discuz的論壇網站,數據庫名爲discuz

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| discuz             |

| mysql              |

| test               |

+--------------------+

4 rows in set (0.00 sec)


mysql> use discuz;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Database changed

我發了個帖子,剛開始是可以正常瀏覽了,如果我刪除了post表,會報如下錯誤:

Discuz! Database Error


(1146) Table 'discuz.forum_post' doesn't exist


mysql> show tables like "pre_%_post";

+-------------------------------+

| Tables_in_discuz (pre_%_post) |

+-------------------------------+

| pre_forum_debatepost          |

| pre_forum_filter_post         |

| pre_forum_post                |

| pre_security_evilpost         |

+-------------------------------+

4 rows in set (0.00 sec)


mysql> drop table pre_forum_post;//也可以直接drop table discuz.pre_forum_post;

Query OK, 0 rows affected (0.00 sec)

假如我在刪除之前用mysqldump命令進行了備份,那麼如果我誤刪除了數據,還是可以恢復回去的。

# mysqldump -uroot -p discuz > discuz.sql;//備份庫

# mysql -uroot -p discuz <  discuz.sql;//恢復庫


# mysqldump -uroot -p discuz pre_forum_post > pre_forum_post.sql;//備份表

# mysql -uroot -p discuz < pre_forum_post.sql;//恢復表,前半截跟恢復庫的命令一樣,後半部分選擇備份的表sql就行


# mysqldump -uroot -p --default-character-set=gbk discuz pre_forum_post > pre_forum_post_gbk.sql;//指定字符集備份表

# mysql -uroot -p --default-character-set=gbk discuz < pre_forum_post_gbk.sql;//指定字符集恢復表,前半截跟恢復庫的命令一樣,後半部分選擇備份的表sql就行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章