云自無心水自閑

          天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
          posts - 288, comments - 524, trackbacks - 0, articles - 6
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          mysql的備份任務不能正常運行

          Posted on 2008-12-17 08:04 云自無心水自閑 閱讀(2069) 評論(0)  編輯  收藏 所屬分類: 數據庫
          mysql安裝調試完畢,正式投入運行后,馬上進行了mysql備份任務的生成。結果第二天一看,并沒有能夠如愿地生成備份文件。
          馬上開始查找原因。首先在mysql administrator里立即運行備份任務,沒有問題,備份文件很快就生成了。但備份任務就是不能正確執行。
          在事件查看器里發現了mysql的錯誤日志,root@localhost(password: no)access denied, error number: 1045。
          奇怪,root@localhost無法登錄數據庫?可是登錄mysql administrator,并且在里面單獨運行backup都是正常的啊。
          冷靜一下,在windows控制面板的計劃任務里,找到數據庫備份的計劃任務(Mysql5.X的備份計劃實際上是生成了一個windows的計劃任務,執行其設置好的腳本),查看了一下腳本,并沒有什么問題。
          再仔細研究了一下,發現問題應該是在password:no上,相當于試圖不提供密碼而使用root@localhost進行備份,所以出錯了。那么如何改正呢。
          最后發現問題是在;mysql_user_connection.xml里。這個文件里包含了mysql登錄用的別名信息。結果不知道是什么原因這個文件里相同的別名出現了兩次,第一次的配置里密碼為空,而第二次的配置是正確的。

            <last_connection>2</last_connection>
            <password_storage_type>3</password_storage_type>
            <user_connection>
              <connection_name></connection_name>
              <username>root</username>
              <hostname>localhost</hostname>
              <port>3306</port>
              <schema></schema>
              <advanced_options/>
              <storage_path></storage_path>
              <notes></notes>
              <connection_type>0</connection_type>
              <storage_type>2</storage_type>
              <password_storage_type>3</password_storage_type>
              <password/>
            </user_connection>
            <user_connection>
              <connection_name>proddb</connection_name>
              <username>root</username>
              <hostname>localhost</hostname>
              <port>3306</port>
              <schema>message</schema>
              <advanced_options/>
              <storage_path></storage_path>
              <notes></notes>
              <connection_type>0</connection_type>
              <storage_type>2</storage_type>
              <password_storage_type>3</password_storage_type>
              <password/>
            </user_connection>
            <user_connection>
              <connection_name>proddb</connection_name>
              <username>root</username>
              <hostname>localhost</hostname>
              <port>3306</port>
              <schema>message</schema>
              <advanced_options/>
              <storage_path></storage_path>
              <notes></notes>
              <connection_type>0</connection_type>
              <storage_type>1</storage_type>
              <password_storage_type>3</password_storage_type>
              <password>9D203859E</password>
            </user_connection>


          而登錄mysql administrator時,根據last_connection的值,使用的是proddb的第二個配置。所以可以正常登錄,而且在里面執行腳本,備 份都沒有問題,而windows執行計劃任務時,通過別名proddb在mysql_user_connection.xml中查找,找到的是第一個,其 中沒有密碼信息,所以報錯。
          問題找到了,解決就容易了,刪除mysql_user_connection.xml中的proddb的第一個配置。備份計劃任務果然能夠正確地執行了。



          主站蜘蛛池模板: 大埔县| 博罗县| 海兴县| 郧西县| 铜川市| 牟定县| 海口市| 林甸县| 徐闻县| 吉首市| 故城县| 恩平市| 万荣县| 武鸣县| 怀集县| 莱芜市| 大竹县| 宾阳县| 蓝山县| 兰考县| 滕州市| 临西县| 扎囊县| 和平县| 行唐县| 托克托县| 普定县| 华安县| 辽宁省| 舟曲县| 寿光市| 香港 | 浦东新区| 桑日县| 长宁区| 辽中县| 蛟河市| 若羌县| 南靖县| 惠水县| 桦川县|