programmera.net -> mysqldba -> normal     för utskrift      info@programmera.net

Installera MySQL 4 från binärpaket på Linux

1. Sammanfattning
2. Ladda hem
3. Flytta tarfilen till /usr/local/
4. Skapa användare
5. Installera
6. Ändra ägare till katalogen
7. Starta MySQLserver
8. Starta MySQLserver vid uppstart
9. Stoppa MySQLserver
10. Ändra rootlösenord
11. Koppla upp dig mot MySQLserver

1. Sammanfattning

Denna sida ska läsas av den som vill installera MySQL från binärpaket snabbt. Det finns en utförligare beskrivning i dokumentationen, som för övrigt är bra. De flesta punkterna nedan är tagna direkt ur dokumentationen. Om något av de nedan föreslagna kommandona misslyckas kan du få utförligare beskrivning i där. Här kommer en sammanfattning på de kommandon som ska köras:
[olle@dev1]$ su -
Password:
[root@dev1]# mv mysql-VERSON-OS.tar.gz /usr/local/
[root@dev1]# cd /usr/local/
[root@dev1]# groupadd mysql
[root@dev1]# useradd -g mysql mysql
[root@dev1]# tar xvzf mysql-VERSION-OS.tar.gz
[root@dev1]# ln -s mysql-VERSION-OS mysql
[root@dev1]# cd mysql
[root@dev1]# scripts/mysql_install_db
[root@dev1]# chown -R root .
[root@dev1]# chown -R mysql data
[root@dev1]# chgrp -R mysql .
[root@dev1]# bin/mysqld_safe --user=mysql &
[root@dev1]# cp support-files/mysql.server /etc/init.d/
[root@dev1]# chmod 755 /etc/init.d/mysql.server
[root@dev1]# ln -s /etc/init.d/mysql.server /etc/rc3.d/Smysql 
[root@dev1]# bin/mysqladmin -u root -p password nytt_rootlösenord
[root@dev1]# exit
[olle@dev1]$ bin/mysql -u root -p
Enter password: nytt_rootlösenord
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 4.0.2-alpha

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> 

2. Ladda hem

Först laddar du hem MySQL från  www.mysql.com . Jag förutsätter att du laddar hem binärpaket Binary packages (tar.gz) och inte rpm-paket RedHat packages (.rpm). Du ska välja det paket som är kompilerat för Linux med den processor du använder, oftast Intel x86. I mitt fall hette filen jag laddade ner mysql-4.0.2-alpha-pc-linux-gnu-i686.tar.gz men jag kommer i fortsättningen skriva mysql-VERSON-OS.tar.gz så att du inte råkar skriva mitt filnamn av misstag.

3. Flytta tarfilen till /usr/local/

Se till att bli root och flytta den just nerladdade filen till /usr/local/.
[olle@dev1]$ su 
Password:
[root@dev1]# mv mysql-VERSON-OS.tar.gz /usr/local/

4. Skapa användare

Det är bra att ha en speciell Linuxanvändare och grupp till detta program. Att låta rootanvändaren sköta MySQL vore en säkerhetsrisk.
[root@dev1]# groupadd mysql
[root@dev1]# useradd -g mysql mysql

5. Installera

Vi börjar med att packa upp binärfilerna. Nästa steg är att skapa en mjuk länk till katalogen. Sedan kör vi installationsscriptet.
[root@dev1]# cd /usr/local/
[root@dev1]# tar xvzf mysql-VERSION-OS.tar.gz
[root@dev1]# ln -s mysql-VERSION-OS mysql
[root@dev1]# mysql/scripts/mysql_install_db

6. Ändra ägare till katalogen

Vi vill att användaren mysql ska äga alla datafiler, och att hela katalogen ska tillhöra gruppen mysql.
[root@dev1]# cd /usr/local/mysql/
[root@dev1]# chown -R root .
[root@dev1]# chown -R mysql data/
[root@dev1]# chgrp -R mysql .

7. Starta MySQLserver

MySQL är en Client/Server-applikation. Därför måste mysqld köra i bakgrunden för att det ska gå att koppla upp sig mot MySQL. Om du har MySQL 4 eller senare kan du starta serverdemonen på följande sätt:
[root@dev1]# bin/mysqld_safe --user=mysql &
För äldre versoner heter det:
[root@dev1]# bin/safe_mysqld --user=mysql &
mysqld_safe är ett program som i sin tur kör mysqld. mysqld_safe är lite smartare, men det går att köra mysqld direkt.

8. Starta MySQLserver vid uppstart

Det kan vara smidigt att MySQLservern startar automatiskt vid uppstart av datorn. För att fixa det kopierar vi först startscriptet till /etc/init.d/. Nästa steg är att ändra rättigheterna på startscriptet så att det blir ett körbart script. Sedan lägger vi in en länk till scriptet i /etc/rc3.d/ som börjar på S. Alla körbara filer som börjar på S i /etc/rc3.d/ kommer att anropas med attributet start vid uppstart. Detta fungerar på en RedHatdator, jag vet inte hur det går till i andra distributioner.
[root@dev1]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/
[root@dev1]# chmod 755 /etc/init.d/mysql.server
[root@dev1]# ln -s /etc/init.d/mysql.server /etc/rc3.d/Smysql 

9. Stoppa MySQLserver

När du vill stoppa serverdemonen skriver du på följande sätt:
[root@dev1]# bin/mysqladmin -pROOTLÖSENORD shutdown
Där ROOTLÖSENORD är lösenordet till rootanvändaren i MySQL.

10. Ändra rootlösenord

Det är viktigt att du byter lösenord på MySQLs rootanvändare så att inte vem som helst kan logga in och kasta dina tabeller. Du måste byta lösenord både på lokal inloggning och för inloggning från internet. Först tar vi reda på vad din dator heter:
[root@dev1]# echo $HOSTNAME
DIN_DATORS_NAMN
Detta namn används sedan i näst sista raden..
[root@dev1]# cd /usr/local/mysql/
[root@dev1]# bin/mysqladmin -u root -p password nytt_rootlösenord
password: (gammalt password= inget i detta fall)	
[root@dev1]# bin/mysqladmin -u root -h DIN_DATORS_NAMN -p password nytt_rootlösenord
password: (gammalt password= inget i detta fall)
OBS: I Debian Linux finns ingen internetinloggning för root i defaultinstallationen, så endast första ändringen behöver utföras.

11. Koppla upp dig mot MySQLserver

Nu kan du testa MySQL. Du behöver inte vara root längre, och det ska man aldrig vara i onödan. Däremot är MySQLanvändaren root (inte samma som Linuxanvändaren root) den enda användare som finns i MySQL för tillfället. Därför loggar vi in i MySQL som root.
[root@dev1]# exit
[olle@dev1]$ /usr/local/mysql/bin/mysql -u root -p
Enter password: nytt_rootlösenord
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 4.0.2-alpha

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> 
Klart!