تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] أحاول أخذ باك أب لقاعدة البيانات من نوع mySQL ولكن لا أستطيع مرفق الكود
#1
السلام عليكم ورحمة الله وبركاته
كيف استطيغ اخد نسخة احتياطية لقاعدة البيانات  mySQL من خلال برنامجي VB.NET
يتم كل شي وتظهر رساله تم اخذ نسخة احتياطيه بنجاح ولكن لا اجد اى شي فى الفولدر
الكود
كود :
Imports System.IO

Imports MySql.Data.MySqlClient

Public Class Backup
    Dim SqlConnection As MySqlConnection
    Dim dt As New DataTable
    Dim cmd As String
    Dim dtseCt As Integer
    Dim da As MySqlDataAdapter
تعريف كلاس
كود :
 Public Sub koneksi()
        Try
            SqlConnection = New MySqlConnection("Server=" & TextBox1.Text & "; " _
                                                + "user id=" & TextBox2.Text & ";" _
                                                + "password=" & TextBox3.Text & ";Port=3306; SslMode=none; Character Set=utf8;")
            If SqlConnection.State = ConnectionState.Closed Then

                SqlConnection.Open() ' open our connections
            End If
        Catch ex As Exception
            MsgBox("Connection Filed !")
        End Try
    End Sub
كود :
هنا يتم ملي الكوكبو بوكس بكل قواعد البيانات في لوحة التحكم واختار منها الذي اريده واعكل منها باك اب
  Try
            koneksi() ' open our connection
            ' create query to show list of our database into combobox
            cmd = "SELECT DISTINCT TABLE_SCHEMA FROM information_schema.TABLES"
            da = New MySqlDataAdapter(cmd, SqlConnection)
            da.Fill(dt)
            dtseCt = 0

            ' enabling the list of database in the combobox
            ComboBox1.Enabled = True
            ComboBox1.Items.Clear()
            ComboBox1.Items.Add("== Select Database ==")

            While dtseCt < dt.Rows.Count

                ' add database list into combobox
                ComboBox1.Items.Add(dt.Rows(dtseCt)(0).ToString())
                dtseCt = dtseCt + 1
                ' lets try
                'sorry for it, just add the code like this

            End While
            ComboBox1.SelectedIndex = 0

            'close our connections
            SqlConnection.Clone()
            dt.Dispose()
            da.Dispose()

        Catch ex As Exception
            MsgBox("Connection Filed!")
        End Try

    


كود :
 ' we will backup a mysql database and save it into our local server
        Dim DbFile As String
        Try
            ' create svaFileDialog and OpenFileDialog Component to our project
            SaveFileDialog1.Filter = "SQL Dump File (*.sql)|*.sql|All files (*.*)|*.*"
            SaveFileDialog1.FileName = "Database Backup " + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + ".sql"
            If SaveFileDialog1.ShowDialog = DialogResult.OK Then

                koneksi() ' open our connections
                DbFile = SaveFileDialog1.FileName
                Dim BackupProccess As New Process
                BackupProccess.StartInfo.FileName = "cmd.exe"
                BackupProccess.StartInfo.UseShellExecute = False
                BackupProccess.StartInfo.WorkingDirectory = "G:\BACKUP"
                BackupProccess.StartInfo.RedirectStandardInput = True
                BackupProccess.StartInfo.RedirectStandardOutput = True
                BackupProccess.Start()

                Dim BackupStream As StreamWriter = BackupProccess.StandardInput
                Dim myStreamReader As StreamReader = BackupProccess.StandardOutput
                BackupStream.WriteLine("mysqldump --user=" & TextBox2.Text & " _
                + "" --password=" & TextBox3.Text & " -h " & TextBox1.Text & " " _
                + "" & ComboBox1.Text & " > """ + DbFile + """")

                BackupStream.Close()
                BackupProccess.WaitForExit()
                BackupProccess.Close()
                SqlConnection.Close()
                MsgBox("Backup your MySQL database Created Successfully!", MsgBoxStyle.Information, "Backup MySql Database")
            End If

        Catch ex As Exception
            MsgBox("Nothing to do!")
        End Try

كود :
' now we will create for restore our database, just copy the source for backup our database before
       Dim DbFile As String
       Try
           ' create svaFileDialog and OpenFileDialog Component to our project
           OpenFileDialog1.Filter = "SQL Dump File (*.sql)|*.sql|All files (*.*)|*.*"
           If OpenFileDialog1.ShowDialog = DialogResult.OK Then

               koneksi() ' open our connections
               DbFile = OpenFileDialog1.FileName
               Dim BackupProccess As New Process
               BackupProccess.StartInfo.FileName = "cmd.exe"
               BackupProccess.StartInfo.UseShellExecute = False
               BackupProccess.StartInfo.WorkingDirectory = "G:\BACKUP"
               BackupProccess.StartInfo.RedirectStandardInput = True
               BackupProccess.StartInfo.RedirectStandardOutput = True
               BackupProccess.Start()

               Dim BackupStream As StreamWriter = BackupProccess.StandardInput
               Dim myStreamReader As StreamReader = BackupProccess.StandardOutput
               BackupStream.WriteLine("mysql --user=" & TextBox2.Text & " --password=" & TextBox3.Text & " -h " & TextBox1.Text & " " & ComboBox1.Text & " < """ + DbFile + """")

               BackupStream.Close()
               BackupProccess.WaitForExit()
               BackupProccess.Close()
               SqlConnection.Close()
               MsgBox("Restore your MySQL database Successfully!", MsgBoxStyle.Information, "Restore MySql Database")
           End If

       Catch ex As Exception
           MsgBox("Nothing to do!")
       End Try
الرد }}
تم الشكر بواسطة:
#2
لازالت احاول ولا اعرف السبب في عدم الحفظ
الرد }}
تم الشكر بواسطة:
#3
اخى الحبيب
ارفق المشروع مع ملف قاعدة البيانات

حتى يتم الاطلاع على الكود لمعرفة نقطة الخطاء لديك
وتقيام التعديلات اللازمة واعادة رفعها لك مجدداً

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}
تم الشكر بواسطة:
#4
فقط اعطني فرصه ان لم استطع سأرفق لك المشروع شكرا لك
الرد }}
تم الشكر بواسطة: elgokr
#5
خد وقتك اخي الحبيب

تحياتى لك
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}
تم الشكر بواسطة: dametucorazon
#6
جزاك الله خيرا لحرصك أحب الناس الى الله عزوجل أنفعهم للناس وأحسبك كذلك ولا أزكي علي الله أحدا
الرد }}
تم الشكر بواسطة: elgokr
#7
اخي الكريم , لا اعتقد انه يوجد كو يقوم بعمل Backup , ولكن هناك طُرق لعمل لذلك .

إليك هذا المثال المرفق .

.rar   WindowsApplication1.rar (الحجم : 197.63 ك ب / التحميلات : 69)
Wink
الرد }}
#8
(18-06-18, 01:38 PM)HASAN6.0 كتب : اخي الكريم ,  لا اعتقد انه يوجد كو يقوم بعمل Backup , ولكن هناك طُرق لعمل لذلك .

إليك هذا المثال المرفق .

Wink
شكرا لك اخي الفاضل جربت النموذج الخاص بحضرتك عمل باك اب بنجاح 
ولي سؤالين هل تم اخذ نسخة من جميع الجداول داخل قاعدة البيانات التىي احددها ؟
وكيف اقوم بعمل Restore لقاعدة البيانات مرة اخري للسيرفر مرة اخري فانا اعمل علي قاعدة باينات علي Cpanel
جزاك الله خيرا كثيرا لا يعد ولا يحصي وسهل لك سبل الخيرات
الرد }}
تم الشكر بواسطة: elgokr
#9
(18-06-18, 11:30 PM)dametucorazon كتب :
(18-06-18, 01:38 PM)HASAN6.0 كتب : اخي الكريم ,  لا اعتقد انه يوجد كو يقوم بعمل Backup , ولكن هناك طُرق لعمل لذلك .

إليك هذا المثال المرفق .

Wink
شكرا لك اخي الفاضل جربت النموذج الخاص بحضرتك عمل باك اب بنجاح 
ولي سؤالين هل تم اخذ نسخة من جميع الجداول داخل قاعدة البيانات التىي احددها ؟
وكيف اقوم بعمل Restore لقاعدة البيانات مرة اخري للسيرفر مرة اخري فانا اعمل علي قاعدة باينات علي Cpanel
جزاك الله خيرا كثيرا لا يعد ولا يحصي وسهل لك سبل الخيرات

يمكنك من خلال phpmyadmin

عمل الـ Restore لقاعدة البيانات

وهى الافضل لك من عمل كود يقوم من خلال البرنامج
والسبب هى حماية بيانات الصلاحيات الـ Cpanel
فى حالة احد قام بسحب السورس كود البرنامج

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}
تم الشكر بواسطة: HASAN6.0
#10
نعم اخي الكريم ... يتم اخذ نسخة من كل الجداول .
وهذا الكود قمت بترجمته من php , وبخصوص الاستعادة يمكنك فقط عمل drop للجداول بعد الحصول عليها , ومن ثم تشغيل ملف الاستعادة .
ولكن كما قال الاخ elgokr . فالنصحيه هنا ان تقوم بعمل Backup وفي حال الاستعادة يتم على قاعدة اخرى للتجربة .
ومن ثم على القاعدة الاساسية ,, من خلال phpmyadmin .
الرد }}
تم الشكر بواسطة: elgokr , elgokr , sendbad100 , dametucorazon



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم