Drobna pomoc przy migracji bazy mysql z 1and1
Data: 2017-08-23, autor: Michał MisztalMigracja 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ę.