Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Ovaistariq - Vodič za MySQL 5,5

Vodič korak po korak za nadogradnju na MySQL 5,5

MySQL 5,5 je stvorio puno hajpova i ne samo hajpova, postoje brojna poboljšanja performansi ne samo u samom MySQL serveru, već i u novijem InnoDB dodatku koji se isporučuje sa MySQL 5.5. Upravo je to razlog zašto sam se nadogradio na MySQL 5.5 (Server koji pokreće ovaj blog pokreće i MySQL 5,5). Sada pošto nisam naišao na vodič za pomoć pri nadogradnji MySQL 5.5, pomislio sam zašto ne bih sam napravio jedan. Dakle, evo ga!

Preuzmite binarni

$ cd /root/
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.11-linux2.6-i686.tar.gz/from/http://mysql.llarian.net/
$ mv index.html mysql-5.5.8-linux2.6-i686.tar.gz

Napravite rezervnu kopiju MySQL konfiguracije

$ mkdir /root/mysql-5.1-conf
$ cp -R /etc/mysql/ /root/mysql-5.1-conf

Napravite rezervnu kopiju direktorijuma sa podacima

Napravićemo rezervnu kopiju podataka u obliku SQL dump, kao i kopiranjem datoteka sa podacima na sigurnom mestu, samo kako bismo bili 100% sigurni da se podaci neće izgubiti.

$ mkdir /root/mysql-5.1-data
$ cp -R /var/lib/mysql/ /root/mysql-5.1-data

Napravite rezervnu kopiju podataka kao SQL dump

Napravite rezervnu kopiju mysql baze podataka odvojeno, a ne sa svim drugim bazama podataka, jer će nam trebati pre nego što učitamo sve baze podataka.

$ mkdir /root/mysql-5.1-dump
$ mysqldump -u user_name -p --databases mysql > /root/mysql-5.1-dump/mysql.sql
$ mysqldump -u user_name -p --databases db_name > /root/mysql-5.1-dump/db_name.sql

Instalirajte asinhronu I/O biblioteku

Zbog toga da bismo mogli iskoristiti asinhronu I / O sposobnost u novom InnoDB dodatku koji se isporučuje sa MySQL 5,5

$ apt-get install libaio-dev

Raspakujte arhivu

$ tar xzvf mysql-5.5.8-linux2.6-i686.tar.gz

Kopirajte ili premestite raspakovani MySQL direktorijum u instalacioni direktorijum

$ cp -R mysql-5.5.8-linux2.6-i686 /usr/local/
$ cd /usr/local/
$ ln -s mysql-5.5.8-linux2.6-i686 mysql

Uklonite stariju verziju MySQL

Sada je vreme da se ukloniti starija verzija MySQL, u ovom slučaju mislim da je starija verzija MySQL 5,1

$ apt-get remove mysql-server-5.1
$ apt-get autoremove
$ apt-get remove mysql-client
$ apt-get autoremove

Dodajte putanju MySQL bin direktorijumu na PATH promenljivu

$ vim /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/mysql/bin"

Postavite tačne dozvole za datoteku i direktorijum na MySQL instalacioni direktorijum

Postavljanje tačnih dozvola je vrlo važno, pobrinite se da su sve datoteke osim onih u direktorijumu podaci u vlasništvu root. Direktorijum Podaci mora biti u vlasništvu korisnika mysql.

$ cd /usr/local/mysql
$ chown -R mysql:mysql data

Napravite socket direktorijum

Evo opet, postavljanje tačnih dozvola na Socket direktorijumu je vrlo važno, inače MySQL neće raditi.

$ mkdir /var/run/mysqld/
$ chown -R mysql:mysql /var/run/mysqld/

Kopirajte probnu MySQL konfiguracionu datoteku u etc direktorijum i postavite putanje

$ cd /usr/local/mysql/support-files/
$ cp my-large.cnf /etc/my.cnf

Sada uredite /etc/my.cnf tako da ima sledeće vrednosti:

user            = mysql
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr/local/mysql
datadir         = /usr/local/mysql/data
tmpdir          = /tmp
log_error       = /var/log/mysql/error.log

Kopirajte MySQL skript za pokretanje servera u direktorijum za pokretanje

MySQL skript za pokretanje mora biti smešten u direktorijumu gde se nalaze svi skriptovi za pokretanje, tako da MySQL startuje na sistemskom pokretanju. Pobrinite se da skript za pokretanje napravite izvršnim i da ažurirate rc.d bazu podataka kako biste obavestili sistem o prisutnosti novog skripta za pokretanje.

$ cd /usr/local/mysql/support-files/
$ cp mysql.server /etc/init.d/mysql
$ chmod +x /etc/init.d/mysql
$ update-rc.d mysql defaults

Uklonite MySQL datoteke iz starijih verzija

Pazite da ne izbrišete datoteke koje pripadaju novoj verziji koju instaliramo.

$ rm -R /var/lib/mysql
$ rm -R /etc/mysql
$ rm -R /usr/lib/mysql

Kada se MySQL server pokreće prvi put nakon novog instaliranja, mora se pokrenuti bez grants tabele, iz dva razloga. Prvo, zato što želimo da zadržimo podatke o korisnicima i povlasticama iz prethodne instalacije MySQL i drugo, jer se šema grants tabele u MySQL 5,5 promenila.
Tako da ono što ćemo da uradimo jeste da pokrenemo MySQL bez grants tabele, učitamo podatke o korisnicima i privilegijama za koje smo ranije napravili rezervnu kopiju u ovom vodiču i pokrenemo mysql_upgrade skript koji menja šemu grants tabele da bude usklađena sa onom u MySQL 5.5. Nakon toga moći ćemo da normalno pokrenemo MySQL i da imamo sve korisnike i povlastice iste kao u prethodnoj verziji koju smo imali.

Startujte MySQL server bez grants tabele.

$ mysqld --skip-grant-tables --user=mysql

Učitajte MySQL podatke o korisnicima i povlasticama za koje smo ranije napravili rezervnu kopiju

$ cd /root/mysql-5.1-backup/dump/
$ mysql < mysql.sql

Pokrenite skript za nadogradnju, tako da se sve nadogradi na verziju 5.5

$ mysql_upgrade

Zaustavite server i startujte ga normalno

$ /etc/init.d/mysql stop
$ /etc/init.d/mysql start

Eto, imate pokrenut MySQL 5,5 server za tren oka! Podelite vaša iskustva kad isprobate MySQL 5.5

Published (Last edited): 27-05-2013 , source: http://www.ovaistariq.net/490/a-step-by-step-guide-to-upgrading-to-mysql-5-5/