ERROR 1046 (3D000) at line 22: No database selected解決方法

在練習mysql過程當中,因爲要刪除表,因此提早對錶作了一個備份,可是在還原的時候卻老是提示以下錯誤:ERROR 1046 (3D000) at line 22: No database selectedmysql

備份命令以下sql


[root@DB ~]# mysqldump  -uroot -p123456 addam test >/home/addam_test_bak.sql

檢查/home下是否有備份bash


[root@DB ~]# ll /home
-rw-r--r--  1 root      root      2132 Sep 11 23:54 addam_test_bak.sql

查看備分內容,內容已經存在。ide

開始試驗,使用drop刪除掉addam庫中的test表,刪除沒問題。爲了之後的試驗,我如今想要將test恢復,就開始報錯測試

[root@DB ~]# mysql -uroot -p123456 </home/addam_test_bak.sql
ERROR 1046 (3D000) at line 22: No database selected

仔細的檢查了一下備份文件的22行,發如今22行是DROP TABLE IF EXISTS `test`;固然會找不到了,由於個人test表示建立在addam的庫中的,解決辦法就是在它前面加入一條use addam;spa


21 USE addam;
22 DROP TABLE IF EXISTS `test`;

而後保存退出!再次執行恢復命令,問題得以解決!it

那麼有人說,刪除這一行能夠不能夠呢?通過試驗測試,是不能夠滴,呵呵~class

20 --
21 /*!40101 SET @saved_cs_client     = @@character_set_client */;
22 /*!40101 SET character_set_client = utf8 */;
23 CREATE TABLE `test` (

刪除這一行以後,仍是會報一樣的錯誤,由於這個第23行它仍是不知道在哪一個庫裏去建立,因此仍是直接加一條use addam;比較好。test

具體有沒有其餘辦法我還不清楚,由於網上的有些問題跟個人不同,我也是第一次遇見這種問題,不知道就是解決方法是對是錯,只是暫時解決問題。若是哪位大牛有其餘的辦法,請幫忙指點一下,謝謝!
cli

相關文章
相關標籤/搜索