台灣最大程式設計社群網站
線上人數
1401
 
會員總數:243311
討論主題:188091
歡迎您免費加入會員
討論區列表 >> ASP.NET >> [問題]ASP.NET + MySQL5.7 使用Process做資料表備份
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
[問題]ASP.NET + MySQL5.7 使用Process做資料表備份
價值 : 40 QP  點閱數:567 回應數:6

樓主

喵喵
初學者
30 108
1828 299
發送站內信


各位大家好:
我在做ASP.NET + MYSQL 5.7,然後使用後端Server的程式碼來備份資料表。
但點下按鈕,執行程式後,只會看到一個0kb大小的.sql檔。
為什麼這樣呢?
如果我在cmd.exe上,輸入這行指令
mysqldump -u root -h localhost -pMyPassword MyNewTest > D:\mysqlTest.sql
是可以正確備份出資料表,復原也沒有問題。
但為何用Process執行會有問題呢?
將指令換成執行bat檔也是同樣的問題。
感謝各位大大佛心的回應,感恩。





搜尋相關Tags的文章: [ Mysql ] , [ 資料表備份 ] , [ Process ] ,
本篇文章發表於2016-03-07 17:56
== 簽名檔 ==
日文N1檢定合格。
朝英文前進~
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

喵喵
檢舉此回應
我在想是不是執行cmd時,該帳號執行權限的問題。
如果是的話,我要怎麼開啟權限呢?
本篇文章回覆於2016-03-07 18:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

MIS2000 Lab
檢舉此回應
提高 ASP.NET使用(運作時)的權限,要在IIS裡面設定喔

您找一下,我確定有這樣的選項
預設似乎是 IUser or ASPnetUSER這種匿名帳號
本篇文章回覆於2016-03-08 08:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

喵喵
檢舉此回應
目前試了許多方法,結果都是失敗的。
作業系統是win 2003 server
已經有在環境變中的path加入Mysql的路徑了。
已試方法如下:
1、

2、讓process執行 bat檔,BAT檔內容如下:
mysqldump.exe -u root -h localhost -p123456 mbdb > C:\mySqlBackup.sql
這個bat檔如果是直接執行的話,是可以成功備份mysql的資料表。
但是用process去執行這個bat檔的話,只會出現一個0kb的.sql檔。

3、開放ISUR,network service,IWAM,全部的權限 > 失敗
IIS的登入帳號改為Admin帳號 > 失敗
4、到Program file > Mysql > Mysql5.6 > mysqldump.exe
把mysqldump.exe的可執行帳號增加IUSR,並將權限全部開啟 > 一樣失敗。
以上方法都只會出現一個0kb的.sql檔。

google好幾個小時都沒答案,ASP.NET + MySQL很少人這樣使用嗎?
不會只有我一個人有這個問題吧 = =
還是一般是怎麼備份MySQL的資料庫呢?
去實機操作備份動作?
本篇文章回覆於2016-03-10 15:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

imaclee
檢舉此回應
bat source code:
set DBNAME=phpbb
set SQLDIR=X:\DBbk_folder\%DBNAME%_%DATE:~0,4%%DATE:~5,2%
set SQLFILE=%SQLDIR%\%DBNAME%_%DATE:~0,4%_%DATE:~5,2%_%DATE:~8,2%.sql
if not exist %SQLDIR% mkdir %SQLDIR%
C:\wamp\mysql\bin\mysqldump --opt -uroot -p123 %DBNAME% > %SQLFILE%
本篇文章回覆於2018-01-09 02:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
一般自動備份都是直接上機器上做的,
像你用mysql的話,用排程直接跑bat的檔案(如果你是在microsoft的系統),liunx也是類似的方式
本篇文章回覆於2018-01-09 10:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應

1.windows 2003 微軟已經不支援囉,建議升級(這個很重要)

Web應用程式,可以透過AppPool轉換身份執行,但權限要注意不宜過大,剛好可以執行您要執行的就好
2.在IIS中,給您的Web應用程式一個專屬的AppPool
3.在AppPool中,進階設定,可以設定識別,請設定擁有執行權限的帳號(權限不宜過大,設定剛好就好)

^_^
本篇文章回覆於2018-01-09 11:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.