Drobna pomoc przy migracji bazy mysql z 1and1

Data: 2017-08-23, autor: Michał Misztal

Migracja na inny hosting w toku. Niestety problem z migracją bazy jest. O ile mysqldump jakimś cudem zadziałał z jedną bazą i polskie znaki są tak przy nieco poważniejszej witrynie już problem się zrobił nieco większy.

Ani tak, ani siak nie chce mi się to przenieść. Ba, dałbym sobie paznokcie u stóp pomalować za to, że jakimś dziwnym trafem pliki znikają z hostingu. Cholera jasna - a zrobiłem miesiąc temu skrypt który zrzuca wszystkie bazy w jedno miejsce. Zaglądam do folderu a tam pusto. Tylko jedna baza ze zrzutu została - czyli skrypt był.

Cóż. Ctrl + H na dumpie i mozolne przeszukiwanie odpada. Usmażyłem więc drobny skrypcik w pythonie który dziwaczne kodowanie ze zrzutu zamienia na nasze. Kod poniżej



#!/usr/bin/python
import sys
import subprocess

arrBad= ("Ä…","ć","Ä™","Å‚","Å„","ó","Å›","ź","ż","Ä„","Ć","Ę","Ł","Ń","Ó","Åš","Ź","Å»","ó")
arrGood=("ą", "ć", "ę", "ł", "ń", "ó", "ś", "ź", "ż", "Ą", "Ć", "Ę", "Ł",  "Ń", "Ó",        "Ś","Ź", "Ż","ó")

for i in range(len(arrGood)):
	subprocess.call(["sed","-i","-e",'s/'+arrBad[i]+'/'+arrGood[i]+'/g',sys.argv[1]])

Wykonanie wygląda tak

[user@komputer ~]$ python skrypt.py baza.sql_

Na zdrowie.

PS. Skrypt gmera na oryginalnym pliku więc jeśli nie chcecie sobie paluszków poucinać to zróbcie jego kopię.

Skomentuj lub zgłoś błąd

© Michał Misztal 2023