Ne poate ucide cu uşurinţă toate mysql interogări pentru un anumit utilizator cu elegante:

select concat('KILL ',id,';') from information_schema.processlist where user='user123';

Substitut user123 cu noi utilizatorii doresc şi implementăm în mysql şi totul este OK 🙂

Incepand de saptamana trecuta a cumparat instalator Fantastico Deluxe, care, în opinia mea umila este una dintre cele mai decente pentru servere CPanel. L-am instalat și testat totul a mers lin. Astăzi, un client mi-a spus despre o problemă cu codificarea de instalare WordPress. Prin lucrurile și bazele imediat problema straluceau au fost Latin1 UTF8 de codificare implicită în loc de asumare. Chiar și mai distractiv este, că phpMyAdmin-a scris și este folosit în mod implicit UTF8, dramă. Am decis să revizuiască dosarele Fantastico-l pentru a vedea dacă există undeva unde pot găsi eu setări de bază de date în mod implicit la văzut pentru prima dată nimic. Atunci ceva mă Tekna pentru a vedea ce este în my.conf și pentru a vedea ce nu a existat nici o setare corespunzătoare în configurația și toate luminile sale pe orice este setat ca implicit. serverul mysql hardkodnat utilizați UTF8 cu excepția cazului în care este configurat cu alte setări și Fantastico-l, evident, este Latin1 ( care este decizia destul de prost). Soluţia este banal ca întotdeauna Adauga 2 linie în [mysqld] parte lipsă astfel încât să fie UTF8 ca codificarea implicită, şi acesta tot se duce la culcare 🙂

server de set de caractere = utf8
asamblare-server = utf8_general_ci

Eu am nu idea de ce am pierdut aceste setări, când am jucat pentru a face mai multe “Finney” MySQL setări-.

Consolidată prin Zemanta

Câteva zile afară XAMPP 1.8.0 ieri după upgrade de la versiunea 1.7.7 Am avut destul de o problemă interesantă. PhpMyAdmin și el nu se deschide și a urlat cu 403

Accesul interzis!


Noul concept de securitate XAMPP:

Accesul la obiectul solicitat este disponibil numai din rețeaua locală.

Această setare poate fi configurată în fișierul “httpd-xampp.conf”.

deschis imediat httpd-xampp.conf care pentru mine este în / opt / lampp / etc / extra /, La prima vedere, totul arata fin. Regulile pentru rețeaua locală au fost printre. În afară de localhost de deschidere. WTF ??? M-am uitat la log-și poate vedea că accesul meu este tăiat de konfiguatsiyata. Iată acum ce am suspinat și, sincer, oarecum mai puțin noroc găsit problema. După merge peste httpd. conf şi văzut în permite/Deny clauzele un ultimul rând Solicite toate acordate. Oh eureka. Acesta este un nou mecanism de control care a intrat în Apache 2.4.x. Acesta oferă acces sau refuzul unei astfel de amenzi, practic imita Allow / Deny funcționalitate :). Pentru a remedia problema adăugăm necesită toate acordate în folderul / opt/de lampp/phpmyadmin. După schimbările din mine arata ca

<director “/opt / lampp / phpMyAdmin”>
AllowOverride authconfig Limita
comanda permite,nega
Se lasă la toate
Solicite toate acordate
</director>

 

Viangi poate încerca un alt sălbatic, de exemplu, pentru a redenumi ceva dosar phpMyAdmin altul și nu alias pentru. Dar e urât și nu foarte semnificativ 🙂

P.S m-au întrebat de ce folosesc XAMPP nu instalare curată a tuturor componentelor așa cum le este Debian meu născut – Răspunsul este într-adevăr foarte simplu – LENE. Mi prea leneş pentru a scrie mai multe comenzi, apoi obţine konfovete etc.. Destul de uşor este să ia întregul pachet razarhiviraš şi de lumina 😉

Consolidată prin Zemanta

Image representing MySQL as depicted in CrunchBase

Ceva timp în urmă am scris despre MySQL Full Text Search 🙂 Azi am avut o foarte interesant experience cu o interogare. În General, interogarea este în căutarea pentru rezultate care lipsesc alt tabel. A selecta o sub osnovne şi selectaţi în partea în care aplicarea. În General, scheletul şi este

SELECT DISTINCT (
`field`
)
FROM `table1`
WHERE `someID` =44
AND `firsTextField` NOT
IN (

SELECT DISTINCT (
`secondTextField`
)
FROM `table2`
WHERE `otherID` =44
)

În General, o simpla cerere. Am scris-o pentru 30 SEC de presă ei şi blocat mașina. După o lungă şi cu răbdare de aşteptare pe partea mea sau doar ~ 43 sec . Scuipat lol meu de scor . Pfff Madhouse. Introduceţi în maşină în căutarea CPU în mod normal este încărcată aproape la starea inactiv. Şoc şi uimire. Executaţi interogarea încă din nou acelaşi rezultat. Dracu WTF. Executa interogarea şi explica tot ce am – al doilea câmp este doar secondTextField căutare după text complet Nu index, şi există o tavă modest de aproximativ 35 k linie. Ce să citească – indexul de căutare Full text nu este. Este deja clar problema reală rapid unul

ALTER TABLE `links` ADD INDEX ( `linkUrlID` ) 

Şi lucrurile nap locuri de interogare a luat 0.0005 sec 😀

Fii atent cum ai pus indicii de ele depinde de rata marginală de aplicare.

p. s ansamblul greşită despre situaţia de mai sus nu sunt numai pentru că acesta lipseşte un index, deoarece nu folosind full text search metoda 😀

Consolidată prin Zemanta

Ieri după actualizarea versiunii MySQL, -Server de văzut pentru mine a început să țipe la mine, că există un tabel, care nu a fost închisă curat și are nevoie de reparații, etc.. bla, ceea ce va acest tabel, Încă mai am meu 30-ceva pe acest server. O opțiune este de a vedea în log-urile ce se spune pe repararea problema și a rula de masă sau cealaltă opțiune – de departe cel mai bine – Este de a rula reparații, verificarea și optimizarea tuturor tabelelor. Acest lucru se va folosi instrumentul mysqlcheck. În general, opţiunile sunt în acest caz ambele komendi sunt sinonime pentru fiecare alte:

mysqlcheck -Aor -u root -p

mysqlcheck -u root -p --auto-repair --check --optimize --all-databases

În general, că ambele comenzi pentru a utiliza, efectul va fi la fel – repararea parfumat, screening şi optimizare a tuturor tabelelor. După ce introduceţi una din comenzile, vi se va cere parola de root MySQL server-o tu.