Svenska Orienteringsförbundet

Inlägg i OLA > OLA 5.3 och MySql 5.7

  • Fredric Johansson
    söndag 8 maj 2016 klockan 22:30

    Använder du det skript som står här nere så ska du få en korrekt backup som skapar ett databas-schema med samma namn som den du backupar.

    Table 'ola3.version' doesnt exist" betyder att 'ola3' inte är en korrekt OLA databas, i.e. inte korrekt inläst eller helt enkelt innehåller något annat. Dyker upp i loggen när man startar OLA eller klickar på SÖK i databasinställningarna. Om ola3 är namnet på databasen du ska ha läst in backupen till så har det blivit något fel i det steget annars är det inget att bry sig om.

    Jag har aldrig prövat att läsa in en OLA databas till en tidigare mysqlversion än som backupen är skapad i men det bör inte vara något problem om du läser in en backup. Dock så bör allt arbete ske med samma versioner som ska används på tävlingen för att undvika problem.

    Troligtvis har det blivit ett problem när du läste in backupen på servern som gjort att OLA inte hittat databasen

  • Björn Karlsson
    söndag 8 maj 2016 klockan 17:34

    Jag använder ingen dialog, jag har endast använt scriptet nedan. Betyder det att mina backuper i praktiken är obrukbara?

  • Gunnar Svanberg
    söndag 8 maj 2016 klockan 8:42

    Sorry, fetaska vara "Create schema", mindes fel.

  • Gunnar Svanberg
    lördag 7 maj 2016 klockan 22:11

    I dialogen där du väljer var din backup ska lagras. Där finns en ruta att bocka i.

  • Björn Karlsson
    lördag 7 maj 2016 klockan 22:06

    Create table - när är det jag ska bocka i det? Känns som något jag har missat!

  • Gunnar Svanberg
    lördag 7 maj 2016 klockan 21:11

    Kör du webb-start är det inga problem. Se bara till att ha samma ip-adress på servern.

    Vad gäller backup, bocka i "Create table" och låt bli att ha skapat databasen på nya servern så borde det inte vara några problem. Tag dock för vana att köra med samma version (senaste?) från början.

  • Björn Karlsson
    lördag 7 maj 2016 klockan 19:43

    Okej, nästa problem: Jag skapade förstås tävlingen på min egen laptop, men eftersom klubben är med i Borås Oring har vi tillgång till 8st laptops som är förkonfigurerade för att fungera bra ihop i ett nätverk. Jag fick fatt i datorerna dagen innan och försökte föra över en backup från min dator till "Serverdatorn" men gick på pumpen, felet tycks bero på att Serverdatorn har MySQL 5.6 men jag kör med 5.7. Inte otippat att det ger problem.

    Märkligt är dock att jag laddade ner 5.7 till Serverdatorn men fick "samma" fel, det såg åtminstone så ut. Jag lyckades skapa en ny databas och göra överföring från backupen på USB-sticka, MySQL gav ingen errorkod, men däremot OLA hittade något fel med den: "Kunde inte hämta versionsnummer. Felmeddelande: Table 'ola3.version' doesny exist"

    Det ser nästan ut som att OLA på Serverdatorn kommer ihåg de databaser som MySQL 5.6 hade skapat, men hittar inte min 5.7-databas. Måste jag installera om OLA på Serverdatorn för att kunna ta upp min backup?

    Det lutar starkt åt att min dator åker med ut till tävlingen imorgon så hoppas jag att det är en lätt match att koppla upp den emot nätverket. Men det känns inte självklart att en backup från en maskin kan användas för att återställa en tävling på en annan maskin, inte med olika MySQL-versiober i alla fall.

  • Björn Karlsson
    torsdag 5 maj 2016 klockan 20:59

    Okej, nu fungerade det. Jag hade lite utkommenterad kod före själva scriptet, jag tog bort det för det verkade inte gillas riktigt. Såhär ser scriptet ut nu:

    @echo off
    set mySqlPath=C:\Program Files\MySQL\MySQL Server 5.7
    set dbUser=root
    set dbPassword=root
    set dbName=ola
    set file=%dbName%_%DATE%_-_%time:~0,2%%time:~3,2%%time:~6,2%.sql
    set path=C:\ProgramData\MySQL\MySQL Server 5.7\backup

    echo Kör backup på %dbName% ^> ^%path%\%file%
    "%mySqlPath%\bin\mysqldump.exe" -u %dbUser% -p%dbPassword% --max_allowed_packet=1G --host=localhost --port=3306 --default-character-set=utf8 --single-transaction=TRUE --result-file="%path%\%file%" --databases %dbName%
    echo Kopiera till USB-disk
    copy "%path%\%file%" E:\MySQL
    echo Klar med backup av OLA-databasen

  • Gunnar Svanberg
    torsdag 5 maj 2016 klockan 20:39

    Jeep, scriptet måste ändras

    Rad 2 ska vara
    "set mySqlPath=C:\Program Files\MySQL\MySQL Server 5.7"

    Rad 3 & 4 ska innehålla din anv och lsenord

    Rad 5 ska vara namnet på din databas

    Rad 7 ska peka p katalogen där du vil spra backuperna.

    De tre sista raderna (copy...) kan su skippa eller ändra till korrekt sökväg

  • Björn Karlsson
    torsdag 5 maj 2016 klockan 17:40

    Jag har skapat tävlingen och ska lotta startfältet, jag ville först ta en backup på min MySQL-databas. Jag hittade ett script från Anders Kallin i tråden "Bauckup MySql", men det vill inte skapas någon backup. Jag har satt upp en annan path men det borde ju inte ha någon betydlese. Behöver scriptet se annorlunda ut då jag kör MySQL 5.7?

    Jag kör på utan backup men är tacksam för tips!

  • Björn Karlsson
    onsdag 4 maj 2016 klockan 21:50

    OK, det är alltså en bra idé att lägga lite tid på det innan man läser ner tävlingen till OLA.

  • Jörgen Nyberg
    onsdag 4 maj 2016 klockan 18:33

    Du kan ta bort efteranmälningsavgiften för de öppna klasserna direkt i Eventor. Måste nog bara välja avancerad meny så ska det funka. Blir lättare om de är rätt när de laddas ner. 
    Samma sak är det med extra öppna klasser som vill ha med i tävlingen. Se till att de finns i Eventor så fungerar allt bättre.

  • Björn Karlsson
    onsdag 4 maj 2016 klockan 18:26

    Okej Jörgen, du har nog rätt.

    Om jag inte bryr mig om att ta bort elitklasser etc som vi inte har på tävlingen så slipper jag problem. Jag kan både lägga till extra ÖM-banor och ta bort efteranm-avgiften för alla ÖM-banor.

    Inte helt robust kanske att OLAs menyer och en tel tävlingsinfio sabbades när jag försökte mig på tillgreppet ovan, det kom tillbaka när jag läste in tävlingen från Eventor igen.

    /BK

  • Jörgen Nyberg
    onsdag 4 maj 2016 klockan 17:52

    Har kört en tävling med 1200 delatagare och samma uppsättning som du beskriver och inte haft några problem. Har i och för sig inte ändrat några basklasser så det kan jag inte uttala mig om. 

     Basklasserna ska man rimligen normalt inte behöva ändra. Det bästa är om man kan hantera klasserna korrekt redan i Eventor så man slipper justera något i Ola. 

  • Björn Karlsson
    onsdag 4 maj 2016 klockan 17:05

    Jag använder f ö windows 10 pådenna maskin.

  • Björn Karlsson, OK Orinto
    onsdag 4 maj 2016 klockan 17:04

    Detta år tänkte jag använda MySql som databas då det lutar åt att vi fårfler än 1000 löpare nu på söndag. Jag har dock stött på problem.

    Det gick bra att skapa en databas, därefter läsa in tävlingen från Eventor samt lägga till klassen "Klubblös".

    Däremot krånglar det när jag ska uppdatera basklasser, ta bort de som inte ska finnas och lägga till andra.

    Jag får två rutor med felmeddelanden:

    - Internt databasfel! Mer information i loggfil.
    - java.lang.IndexOutOfBoundsException: Invalid range

    Inga ändringar i basklasser sparas, och dessutom tappar OLA menyer för "under Tävlingsdagen", det känns som att något hände med databasen.

    Fungerar inte OLA 5.3.0-23 så bra ihop med MySql 5.7?

     

Annonser

Orienteringsmagasinet 1 kr
Skåne OF