比如我有個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就行