A PCRE internal error occured. This might be caused by a faulty plugin

Dobrodošli na wiki [[http://www.slackware-srbija.org/|srpske Slackware zajednice]]. Za izmenu sadržaja je neophodno registrovati nalog. Pre uređivanja ili dodavanja sadržaja poigrajte se sa [[wiki:syntax|wiki sintaksom]] u [[playground:playground|igralištu]].

**Ово је стара верзија документа!** ----

A PCRE internal error occured. This might be caused by a faulty plugin

== Prvo proverite da li postoji korisnik mysql i da li je član grupe mysql == <code>id mysql</code> Izlaz bi trebalo da bude ovakav: <code>uid=27(mysql) gid=27(mysql) groups=27(mysql)</code> U zavisnosti od izlaza, možda ćete morati da kreirate korisnika, grupu ili dodati postojećeg korisnika u postojeću grupu. To je tematika za neko [[http://slackware-srbija.org/wiki/doku.php?id=osnovno:dodavanje_novog_korisnika|drugo uputstvo]], tako da se time nećemo baviti ovde. Na Slaku 13.37, ovo je već podešeno. == Proverite dozvole nad direktorijumima ///var/lib/mysql// i ///var/run/mysql//: == <code>ls -ld /var/lib/mysql /var/run/mysql</code> Vlasnik direktorijuma bi trebalo da bude korisnik mysql, a grupa mysql: <code>drwxr-x--- 4 mysql mysql 4096 Feb 1 20:27 /var/lib/mysql drwxr-xr-x 2 mysql mysql 4096 Feb 2 06:18 /var/run/mysql</code> Ako nije, promenite vlasnika i grupu. U Slaku 13.37, ovo je već podešeno. Ako vam zatreba pomoć, pogledajte uputstvo za chown: <code>man chown</code> == U sledećem koraku potrebno je kreirati konfiguracionu datoteku. U /etc se nalazi nekoliko primera: == * my-huge.cnf * my-large.cnf * my-medium.cnf * my-small.cnf Ovi primeri predstavljaju konfiguracije za različite veličine sajtova: * **my-small.cnf** - mali sajt, deljeni server na kome je pokrenut mysql server (< 64MB RAM) * **my-medium.cnf** - srednji sajt, deljeni server na kome je pokrenut mysql server (> 64MB RAM) * **my-large.cnf** - veliki sajt, većim delom posvećen mysql server (~512MB RAM) * **my-huge.cnf** - veliki sajt, u potpunosti posvećen mysql server (1-2GB RAM) U većini slučajeva dovoljno je samo napraviti simbolički link my.cnf koji pokazuje na jedan od primera. Konfiguraciona datoteka my.cnf je globalna, ali mogu postojati i dodatne konfiguracione datoteke: * /var/lib/mysql/my.cnf - za podešavanje serverski specifičnih opcija * ~/my.cnf - za korisnička prilagođavanja Ove datoteke se ne kreiraju u podrazumevanoj instalaciji. <note>Za lokalni test server možete slobodno izabrati my-small.cnf.</note> == Nakon toga je potrebno instalirati početnu bazu podataka == Ovo ćemo obaviti komandom **mysql_install_db**: <code>mysql_install_db --user=mysql</code> <note important>Opcija "--user" je neophodna. U suprotnom, baza će biti instalirana kao root korisnik i kreirati probleme pri pokretanju servera (server će odbijati da se pokrene). Ovo se može rešiti deinstalacijom mysql paketa, zatim brisanjem svih u međuvremenu kreiranih datoteka i novom instalacijom.</note> == Nakon toga je neophodno postaviti lozinku za root korisnika == Da bismo to uradili prvo moramo da pokrenemo mysql server: <code>sh /etc/rc.d/rc.mysqld start</code> Nakon toga je preporučeno pokrenuti komandu: <code>mysql_secure_installation</code> Ova komanda će postaviti sigurnija podešavanja od podrazumevanih. Pomoću ove komande možete i postaviti root lozinku. Ako vam podrazumevana podešavanja odgovaraju (napr, lokalni test server bez izlaza na internet), umesto ovog koraka možete direktno postaviti root lozinku: <code>mysqladmin -u root password 'lozinka'</code> <note>Za one koji se prvi put susreću sa mysql, ova root lozinka NIJE ista stvar kao i lozinka root korisničkog naloga!</note> == Da biste testirali instalaciju, pokrenite mysql klijent == <code>mysql -u root -p</code> Kada budete upitani za lozinku, upišite gore izabranu lozinku. Ukoliko je konekcija uspešno postignuta, sada možete ukucati SQL komande. Recimo: <code>show databases;</code> Izlaz bi trebalo da izgleda slično ovome: <code>+--------------------+ | Database | +--------------------+ | information_schema | | mysql | +--------------------+ 2 rows in set (0.00 sec)</code> SQL komande se obično navode velikim slovima, ali ukoliko upišete komandu i malim slovima, upit će biti uspešno izvršen. == Sledeći korak je kreiranje korisnika i postavljanje dozvola == Ovaj korak možete preskočiti ako ste početnik koji se ,,igra" na lokalnoj test mašini. U svakoj drugoj situaciji je preporučeno da kreirate pojedinačnog korisnika za svaki sajt hostovan na serveru koji bi trebalo da ima pristup MySQL bazi. Novog korisnika možete kreirati uz pomoć komandi //CREATE USER// ili //GRANT//. //CREATE USER// kreira novog korisnika, ali ne postavlja dozvole. //GRANT// postavlja dozvole, a ako korisnik ne postoji, naknadno ga kreira. Dozvole za korisnika kreiranog sa //CREATE USER// ćete morati naknadno navesti korišćenjem //GRANT//. Dozvole se specifikuju navođenjem naredbi kojima korisnik ima pristup (napr: INSERT, SELECT, UPDATE, DELETE, itd...). Za spisak dozvola (privilegija) koje su dostupne u MySQL-u pogledajte [[http://dev.mysql.com/doc/refman/5.1/en/grant.html#grant-privileges|link]]. //**Primer upotrebe CREATE USER i GRANT:**// <code>create user 'bocke'@'localhost' identified by 'lozinka'; grant insert,update,delete,select on baza.* to 'bocke'@'localhost';</code> U ovom primeru, korisniku bocke su date insert, update, delete i select privilegije nad svim tabelama u bazi "baza". Takođe je moguće postaviti dozvole za pojedinačne tabele ili više baza istovremeno. Za uklanjanje privilegija koristi se SQL naredba REVOKE. //**Primer:**// <code>revoke insert on baza.* from 'bocke'@'localhost';</code> Da biste pogledali privilegije korisnika koristite naredbu //SHOW GRANTS//: <code>show grants for 'bocke'@'localhost';</code> Korisniku možete postaviti ili promeniti lozinku korišćenjem naredbe //SET PASSWORD//: <code>set password for 'bocke'@'localhost' = PASSWORD('lozinka');</code> Upravljanje korisničkim nalozima je takođe moguće direktnom manipulacijom grant tabela. Za više informacija možete pogledati MySQL korisničko uputstvo ili odgovarajuće strane navedene kao literatura na dnu ovog članka. Izabrao sam da to ovom prilikom ne obradim. == Možete postaviti da se MySQL server automatski pokrene pri pokretanju računara == <code>chmod +x /etc/rc.d/rc.mysqld</code> ili ga pokretati i zaustavljati ručno po potrebi (recimo za testiranje web aplikacija ili web razvoj): <code>sh /etc/rc.d/rc.mysqld start</code> odnosno za zaustavljanje: <code>sh /etc/rc.d/rc.mysqld stop</code> == Par dodatnih napomena == * Jedna od čestih grešaka je zaboravljanje tačke-zareza (;) na kraju SQL komandi. U ovom slučaju MySQL će prebaciti upis komande u novi red, sve dok se ne otkuca tačka-zarez. * Za starije Slak verzije je moguće da će biti potrebno i neko dodatno podešavanje. Jedan deo toga je samo pomenut u početku ovog uputstva. * Za spisak alata za održavanje i administraciju MySQL-a, pogledajte [[http://dev.mysql.com/doc/refman/5.1/en/programs.html|odeljak zvaničnog uputstva]]. ==== Literatura ==== * [[http://www.basicconfig.com/linuxservers/setup_configure_mysql_slackware|Setup and configure MYSQL in Slackware Linux]] * [[http://www.brennan.id.au/17-MySQL_Server.html|Linux Home Server HOWTO / Chapter 17 - MySQL Server]] * [[http://dev.mysql.com/doc/refman/5.1/en/adding-users.html|Adding User Accounts]] * [[http://dev.mysql.com/doc/refman/5.1/en/grant.html|GRANT Syntax]] * [[http://dev.mysql.com/doc/refman/5.1/en/revoke.html|REVOKE Syntax]] * [[http://dev.mysql.com/doc/refman/5.1/en/assigning-passwords.html|Assigning Account Passwords]]


Navigation

* [[:pocetna_strana|Početna strana]] * [[playground:playground|Igralište]] * [[wiki:syntax|Pomoć]]

QR Code
QR Code saveti:mysql_-_osnovna_podesavanja (generated for current page)