-
پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
برنامه ای با زبان دلفی دارم که از پایگاه داده mysql استفاده می کنم
چه روش هایی را برای پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql پیشنهاد می کنید
من ابتدا لیست نام جدول ها رو بدست می آورم سپس از دستور زیر استفاده می کنم که البته مشکلش اینکه زمانی که برنامه بصورت شبکه است قادر به ایجاد فایل از کامپیوتر سرور در کامپیوتر کلاینت نیست
select * from t1 into outfile "//t1.text
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
نقل قول:
البته مشکلش اینکه زمانی که برنامه بصورت شبکه است قادر به ایجاد فایل از کامپیوتر سرور در کامپیوتر کلاینت نیست
قاعدتا باید همین طور باشه!.مدیریت متمرکز است نباید کلاینت بتونه بک آپ و بازگردانی بکنه.مثل در یک شبکه اگه هر کی بخواد پشتیبان گیری کند و هر وقت دلش خواست پشتیبان برگردونه من پشتیبان امروز برمیگردونه یکی دیگه پشتیبان 4 روز پیش و...
برای پشتیبان گیری هم از dump استفاده کنید.دیگه نیاز نیست نام تیبل ها را بدست بیارید و... . فقط نام دیتابیس و رمز و... بهش بدید.
http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
ممنون از راهنمایی تون
ولی من می خواهم پشتیبان گیری و بازیابی پشتیبان از داخل برنامه باشد تا هر زمان که مدیر(کاربر اصلی) برنامه خواست این کار را انجام دهد
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
از چه زبانی برنامه نویسی استفاده می کنی؟
dump فایل راحت ترین راه و اصولی ترین راه است
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
این توسط vb.net و MySqlDump
Dim pr As Process
Dim args As New ProcessStartInfo("cmd.exe")
With args
.CreateNoWindow = True
.RedirectStandardInput = True
.RedirectStandardOutput = True
.UseShellExecute = False
.WindowStyle = ProcessWindowStyle.Hidden
End With
pr.StandardInput.WriteLine("mysqldump -h " + ConfigCurrent.SERVER_CURRENT_HOST + " -u " + ConfigCurrent.SERVER_CURRENT_USER + " -p" + ConfigCurrent.SERVER_CURRENT_PASS + " " + DBName + " > " & AddressAndFormat & Convert.ToChar(13)) '/// chr(13) being Enter key.
pr.StandardInput.Close()
pr.CloseMainWindow()
کلیات رو ببینید بعد با delphi راحت پیاده کنید .
توضیحات بیشتر لازم داشتید بفرمایید تا ارایه کنم .
موفق باشید ./
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
ممنون از راهنماییتون
البته روی سیستممم dump ندارم اول باید اونو نصب کنم
بعد کدهای شما رو تست کنم
خداکنه که اون طوری که من می خواهم باشه
چون برنامه من طوری نوشته شده که باتوجه به استفاده کاربر ، تعداد جداول تغییر می کنه و کم و زیاد می شه و ثابت نیست و برنامه باید در هر بازگردانی وجود همه جداول رو چک کنه
البته در بعضی موارد ساختار جداول هم تغییر می کند
الان برای بازگردانی ابتدا همه جداول رو حذف می کنم و بعد چک می کنم اطلاعات چه جداولی در فایل پشتیبان وجود دارد اون جداول رو ایجاد می کنم و اطلاعات رو داخل اونها بازگردانی می کنم
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
dump را نمی خواد نصب کنید وقتی MYSQL SERVER را نصب کنی جزء فایل های کمکی در پوشه Bin وجود دارد.
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
ممنون از راهنمایی همه دوستان
با cmd بیرون از برنامه تست کردم خیلی خوب بود
الان فقط با پیاده سازی cmd در دلفی دچار مشکل شدم اگر تونستید راهنمایی ایم کنید
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
با کدوم قسمتش مشکل دارید ؟
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(0, nil, 'cmd.exe', '/C find "320" in.txt > out.txt', nil, SW_HIDE);
Sleep(1000);
Memo1.Lines.LoadFromFile('out.txt');
end;
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
ممنون از راهنمایی همه دوستان مخصوصاDr.Bronx
عزیز
بالاخره بعد از کلی بالا و پایین کردن کدها
تونستم پشتیبان گیری و بازیابی پشتیبان رو با mysqldump و cmd در دلفی اجراکنم
فقط یه مشکل کوچولو هست اگه بازم کمکم کنید ممنون می شم
دیتابیس من بدون پسورد است وقتی کدها رو اجرا می کنم حتما باید cmd رو در حالت show normal قرار داده باشم تا قسمت پرسیدن پسورد مربوط به دیتابیس بیاد و من یک اینتر خالی بزنم وگرنه خروجی ندارم یعنی فایل ایجاد نمی شه
چی کار کنم که این قسمت پرسیدن پسورد برای کاربر برنامه ام نباشه و اینکار درون برنامه و خودکار انجام بشه
ببخشیدها البته فکر کنم این مورد رو باید تو قسمت برنامه نویسی دلفی بپرسم اما چون دوستان تاحالا کمکمم کردند اگر این یه مورد رو هم بگند واقعا شرمندشون می شم
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
shellexecute(self.Handle,pchar('open'),
pchar('C:\Program Files\MySQL\MySQL Server 6.0\bin\mysqldump.exe'),
pchar('-u root -p//// -h localhost -R -r "d:\backup.sql" DBNAME'),
pchar('C:\Program Files\MySQL\MySQL Server 6.0\bin'),0);
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
تست کردم ولی جواب نداد
با همین کدی که شما نوشتید تا وقتی که برای قسمت پسورد ////رو نذاشتم کار می کنه ولی پسورد می خواست
به محض اینکه ////رو اضافه می کنم فقط یک فایل خالی می سازه و خطا می دهد
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
حالا چرا دیتابیس شما پسورد نداره؟
/// منظورم این بود که پسورد خودت جایگزین /// بکنی نه همینو کپی کنی
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
آهان . خوب این یک اشتباه عجیب و غریب هست که من هم اول به مشکل خورده بودم .
این قضیه به خاطر یک فاصله اضافی رخ میده
این کد رو ببینید .
mysqldump -h localhost -u root -p9958756a2a5@e26
قسمت -u یک فاصله داره با root
اما -p نباید فاصله داشته باشه با خود پسورد .
اگر فاصله داشته باشه تشخیص نمیده و باید حتما تایید کنید پسورد رو .
موفق باشید ./
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
ممنون
ولی مشکل اینه که پایگاه داده من پسورد نداره و به خاطر یکسری مشکلاتی که برای قسمت های دیگه برنامه ام پیش می یاد نمی تونم برای پایگاه داده ام پسورد بزارم
چی کار کنم که موقع بکاپ گرفتن پسورد نخواد یا لااقل چی کار کنم که قسمت پسورد خواستن را خود برنامه در محیط cmd اینتر بزنه و رد کنه
چون الان این کار رو خودم دستی انجام می دم و برنامه قبل اجرای دستور بکاپ در محیط cmd از من می خواد که پسورد رو وارد کنم و من فقط یک اینتر خالی میزنم و بعد برنامه شروع به بکاپ گیری می کنه
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
نقل قول:
به خاطر یکسری مشکلاتی که برای قسمت های دیگه برنامه ام پیش می یاد نمی تونم برای پایگاه داده ام پسورد بزارم
میشه بگین چه مشکلاتی؟!
از طریق برنامه کاراکتر enter بفرست نمونه کدش به وفور در بخش دلفی یافت میشه!
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
پسورد رو بزارید . اما به جای پسورد یک فاصله خالی بزارید .
mysql فاصله هارو trim می کنه
یعنی 1 2 3 فرقی با 321 نمی کنه .
شما هم یک فاصله فقط بزارید حل میشه .
اگر این کار رو کردید و نشد . لطفا کدتون رو بزارید اینجا تا بررسی کنیم .
موفق باشید ./
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
نقل قول:
نوشته شده توسط
سعید صابری
میشه بگین چه مشکلاتی؟!
از طریق برنامه کاراکتر enter بفرست نمونه کدش به وفور در بخش دلفی یافت میشه!
مشکلاتش رو نمی دونم چون این برنامه چند برنامه نویس داره و به من گفته شده پایگاه داده این شرایط رو داره یعنی شرایط پایگاه داده دست من نیست که بخواهم تغییر بدمش
ولی چطوری می تونم به cmdای که توسط برنامه من اجرا شده دسترسی داشته باشم و به اون یک کارکتر رو بفرستم
اگه ممکنه برای من یه نمونه کد برای دسترسی به cmd بزارید چون اگه بتونم دسترسی پیدا کنم مشکلم حل می شه
باتشکر
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
کاراکتر ۱۳ میشه همون enter
توی vb.net میشه Convert.ToChar(13)
به همون کد اول دقت کنید این کار رو کردم . حالا معادلش در دلفی رو به دست بیارید و ارسال کنید .
حالا اول اون کاری که گفتم رو انجام بدید اگر نشد بعد این کار رو بکنید .
موفق باشید ./
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
نقل قول:
نوشته شده توسط
Dr.Bronx
پسورد رو بزارید . اما به جای پسورد یک فاصله خالی بزارید .
mysql فاصله هارو trim می کنه
یعنی 1 2 3 فرقی با 321 نمی کنه .
شما هم یک فاصله فقط بزارید حل میشه .
اگر این کار رو کردید و نشد . لطفا کدتون رو بزارید اینجا تا بررسی کنیم .
موفق باشید ./
کاری که گفتید رو انجام دادم یعنی اول یه فاصله گذاشتم باز هم موقع اجرا قسمت پرسیدن پسورد می یاد و من باید یه اینتر خالی بزنم
دفعه دوم اصلا فاصله نذاشتم این بار خطای زیر رو داد
mysqldump: Goterror: 1045: Access denied for user 'root''192.168.0.8 '(using password: Yes) when trying to connect
نمونه کدم همه اینه اگه می شه کمکم کنید
try
Masir_Dump:='F:\myprogram\Database\ntdt6\bin\mysql dump.exe';
Masir_Dump1:='F:\myprogram\Database\ntdt6\bin';
Masir_Bak:='--opt -r '+copy(Masir_Dump,1,2)+'\'+zname+'.sql -uroot -p -h192.168.0.8 mydatabasename';
ShellExecute(0, nil, pchar(Masir_Dump), pchar(Masir_Bak), nil, SW_SHOWNORMAL);
except
ShowMessage('خطا در پشتيبان گيري '+#13+#13+'در زمان ديگري امتحان نماييد');
end;
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
خوب الان شما کجا اون enter آخر رو می فرستید ؟
یک enter حتما باید آخر خط بزارید .
کدی که اول گذاشته بودم رو ببینید . آخری یک enter فرستاده میشه .
موفق باشید ./
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
در ضمن -uroot باید فاصله داشته باشه از هم .
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
من مشکلم این است که نمی دانم چطوری باید این کد اینتر را در دلفی برای cmd باز شده بفرستم
می شود بگوئید من باید چگونه این کد را اصلاح کنم که مشکلم حل شود.
وقتی بعد از mydatabasenameکد(13#) char برای اینتر می زارم فایل رو خالی می سازه
با سپاس
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
با سلام
بالاخره بعد از کلی جستجو تونستم کد اینتر رو با sendmessage برای cmd بفرستم
با سپاس از راهنمایی همه دوستان
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
با سلام
ببخشید ولی یه مشکل بزرگ برام پیش اومده
من فایل پشتیبان از پایگاه داده ام رو از طریق mysqldump ایجاد کردم حالا وقتی می خواهم اون رو در برنامه ام با کد زیر بازگردانی کنم یک صدای بوق شنیده می شود و بازگردانی صورت نمی گیرد
ShellExecute(0, nil, PChar('f:\bin\mysql.exe')
, PChar('-u root -p -h localhost mydatabase1<f:\backupfile.sql ')
, nil, SW_SHOWNORMAL)
من همین کد رو توی cmd و خارج از برنامه اجرا می کنم فایل پشتیبانی بازگردانی می شه و هیچ مشکلی نداره
f:\bin\mysql.exe -u root -p -h localhost mydatabase1<f:\backupfile.sql
لطفا کمک کنید
با سپاس
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
کی گفت Mysql.exe؟ ما پس در پست های قبلی واسه کی توضیح دادیم؟
پست شماره 11 همین تاپیک یک بار دقیق بخون
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
نقل قول:
نوشته شده توسط
سعید صابری
کی گفت Mysql.exe؟ ما پس در پست های قبلی واسه کی توضیح دادیم؟
پست شماره 11 همین تاپیک یک بار دقیق بخون
پس فایل های پشتیبانی رو که با mysqldump می گیرید با چی بازگردانی می کنید؟؟؟؟؟؟
من کلی تو اینترنت سایت های ایرانی و خارجی گشتم همشون برای بازگردانی فایل های پشتیبانی که با myqsqldump گرفته می شه از mysql استفاده کردند
به عنوان نمونه این لینک رو ببینید
http://www.tecmint.com/mysql-backup-and-restore-commands-for-database-administration
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
آها.من هواسم به بک آپ بود
تو که دلفی کار می کنی چرا از محصولات devart استفاده نمی کنی که ما را سکته ندی؟!!!
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
نقل قول:
نوشته شده توسط
سعید صابری
آها.من هواسم به بک آپ بود
تو که دلفی کار می کنی چرا از محصولات devart استفاده نمی کنی که ما را سکته ندی؟!!!
شرمنده من هنوز مبتدی ام و نیاز به راهنمایی های شما دارم
این کامپوننت ای که گفتید رو دیدم چه مزیت هایی نسبت به روشی که الان استفاده می کنم دارد
من دموهاش رو تست کردم اون ها هم از dump استفاده می کردند و در بعضی موارد نتونستم جواب درست ازشون بگیرم
راهنمای فارسی یا انگلیسی برای اون سراغ دارید?
-
نقل قول: پشتیبان گیری و بازیابی پشتیبان از پایگاه داده mysql
راهنمای فارسی را تا حالا ندیدم.شاید باشه.
ولی بهترین کامپوننت کار با بانک های اطلاعاتی است از نظر من .البته در مقایسه اگر اشتباه نکنم در همین سایت انجام شد خیلی از دوستان حرفه ای از این مجموعه کامپوننت استفاده می کنند.
UNIDAC برای اتصال به بانک های مختلف کاربرد داره.مختص mysql هم Mydac هست که اگر تنها از بانک mysql استفاده می کنید من این کامپوننت بهتون پیشنهاد می کنم.
در کل طریقه استفاده اش من ado هست با این تفاوت که یک سری دستورات بهینه سازی شده .