Samstag, Januar 18, 2020

Verschieben von MySql von der windows-server auf linux

Übergang von einer alten Win2003-server auf einen neuen server VM (unserer Wahl Win oder Linux)
wenn wir gehen, Linux würde es irgendwelche Probleme konvertieren der aktuellen Tabellen?

  • Bitte schließen Sie nicht dieses. Ich habe eine tragfähigen plan für die Umstellung.
InformationsquelleAutor basdwarf | 2013-07-23

4 Kommentare

  1. 13

    Verschieben MySQL/Windows auf die gleiche version von MySQL/Linux

    Können Sie mysqldump aller Datenbanken wie folgt:

    C:\> mysqldump -uroot -p --routines --triggers --flush-privileges --all-databases > MySQLData.sql

    Bewegen MySQLData.sql Linux-box, und führen Sie die reload –

    mysql -uroot -p < MySQLData.sql

    Verschieben MySQL/Windows auf eine höhere version von MySQL/Linux

    Können Sie mysqldump aller Datenbanken AUßER mysql-SCHEMA !!! Warum?

    Hier ist eine Windows-Batch-Skript mysqldump aller Datenbanken außer mysql-schema und dann einen dump der mysql-schema in reiner SQL:

    rem
    rem Startup Settings
    rem
    set MYSQL_CONN=-uroot -prootpassword
    set MYSQLDUMP_OUTPUT=C:\LocalDump.sql
    set MYSQL_USERGRANTS=C:\LocalGrants.sql
    set MYSQL_TEMPGRANTS=C:\TempGrants.sql
    rem
    rem Get MySQL User Data
    rem
    set MYSQLDUMP_OPTIONS=--routines --triggers --databases
    set SQLSTMT=SELECT CONCAT('mysqldump %MYSQL_CONN% %MYSQLDUMP_OPTIONS% ',DBList)
    set SQLSTMT=%SQLSTMT% FROM (SELECT GROUP_CONCAT(schema_name SEPARATOR ' ') DBList
    set SQLSTMT=%SQLSTMT% FROM information_schema.schemata WHERE schema_name NOT IN
    set SQLSTMT=%SQLSTMT% ('information_schema','mysql','performance_schema')) A
    echo echo off > C:\RunLocalDump.bat
    mysql %MYSQL_CONN% -ANe"%SQLSTMT%" >> C:\RunLocalDump.bat
    C:\RunLocalDump.bat > %MYSQLDUMP_OUTPUT%
    rem
    rem Get MySQL User Grants
    rem
    set SQLSTMT=SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';')
    set SQLSTMT=%SQLSTMT% FROM mysql.user WHERE LENGTH(user)
    echo %SQLSTMT%
    mysql %MYSQL_CONN% -ANe"%SQLSTMT%" > %MYSQL_TEMPGRANTS%
    mysql %MYSQL_CONN% -AN < %MYSQL_TEMPGRANTS% > %MYSQL_USERGRANTS%
    del %MYSQL_TEMPGRANTS%

    Sobald Sie die mysqldump und die Zuschüsse Datei, kopieren Sie diese einfach auf dem Linux-Server führen Sie Sie lokal. Führen Sie die mysqldump-ersten. Laden Sie dann die Zuschüsse.

    Probieren Sie es aus !!!

    • +1 FWIW, die Sie ausführen können mysql_upgrade auf die neuere version hinzufügen benötigten Spalten, Systemtabellen. Auch der pt-show-grants ist ein nettes tool, um die export-Zuschüsse für alle Benutzer.
    • Was würden Sie tun, um die Migration von Benutzern, Ihre Kennwörter, Stipendien & Privilegien?
  2. 2

    Würden Sie nicht brauchen, um zu konvertieren der Tabellen. Der SQL-dump vom Windows-server wäre einfach zu importieren in MySQL auf Linux.

  3. 0

    Nein, die Tabellen werden in Ordnung sein. Sie sollten auch in der Lage sein zu transfer die config-Dateien, die Sie ohne Problem

    mit mysqldump und dann nur den mysql-Befehl um das backup wiederherzustellen

  4. 0

    Exportieren Sie Ihre Datenbank (Tabellen mit Daten). Sie erhalten dann sql-Skript-Datei. Wenn Sie ausführen, dass die Skript-Datei in Ihr neues system, Ihre Tabellen und Daten werden in das neue system

Kostenlose Online-Tests