We kunnen gemakkelijk doden alle mysql-query een specifieke gebruiker elegante:

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

Het vervangen van user123 met onze gewenste gebruikersnaam en uit te voeren in mysql en alles is OK 🙂

Sinds vorige week kocht Fantastico Deluxe installer, die naar mijn bescheiden mening is een van de meest fatsoenlijk voor CPanel servers. We installeerden het en getest alles verliep vlot. Vandaag de dag, een klant vertelde me over een probleem met de codering van wordpress installatie. Door middel van het spul en onmiddellijk scheen probleem bases waren Latin1 encoding standaard UTF8 in plaats van de veronderstelling. Nog leuker is, dat phpmyadmin-schreef en wordt standaard gebruikt UTF8, drama. Ik besloot om herziening van de dossiers van Fantastico-om te zien of er ergens waar kan ik vind mezelf instellingen databank standaard op het eerste zag niets. me dan Tekna iets te zien wat er in my.conf-en wat te zien was er geen overeenkomstige instellingen in de configuratie en alle lichten op wat is ingesteld als standaard. Mysql server hardkodnat gebruiken UTF8, tenzij het is geconfigureerd met andere instellingen en Fantastico-het uiteraard Latin1 ( dat is vrij domme beslissing). De beslissing zoals altijd triviaal toegevoegd 2 in orde [mysqld] chassta UTF8 als standaard codering en alles valt in slaap 🙂

-Tekenset-server = utf8
collatie-server = utf8_general_ci

Ik heb geen idee om welke reden ik deze instellingen gemist als je spel om wat te doen “fijn” -instellingen op mysql-a.

Versterkt door Zemanta

Een paar dagen uit XAMPP 1.8.0 gisteren na upgrade van versie 1.7.7 Ik had nogal een interessant probleem. Phpmyadmin-en hij gaat niet open en brulde met 403

Toegang verboden!


Nieuwe XAMPP beveiligingsconcept:

De toegang tot het gevraagde object is alleen beschikbaar vanaf het lokale netwerk.

Deze instelling kan worden geconfigureerd in het bestand “httpd-xampp.conf”.

Meteen opende httpd-xampp.conf die mij in de map / opt / lampp / etc / extra /, Op het eerste gezicht leek alles goed. De regels voor het lokale netwerk behoorden. Afgezien van de opening localhost. WTF ??? Ik keek naar de log-en zie dat mijn toegang wordt afgesneden door konfiguatsiyata. Hier nu wat ik hapte naar adem en eerlijk gezegd wat minder geluk vond het probleem. Na het doorlopen van httpd.conf-en zag in Toestaan ​​/ Weigeren clausules één laatste bestelling Vereisen dat alle verleende. Oh eureka. Dit is een nieuwe controle-mechanisme dat aangegane Apache 2.4.x. Het geeft toegang tot of een dergelijke boete weigeren, in principe bootst Toestaan ​​/ Weigeren functionaliteit :). Om het probleem op te lossen toe te voegen vereisen alle verleende richtlijnen voor de map / opt / lampp / phpmyadmin. Na de veranderingen in mij eruit ziet

<directory “/opt / lampp / phpmyadmin”>
AllowOverride AuthConfig Limit
Bestel toestaan,ontkennen
Toestaan ​​van alle
Vereisen dat alle verleende
</directory>

 

Viangi kan een ander wilde proberen, bijvoorbeeld naar de map phpmyadmin iets andere naam geven en niet alias. Maar het is lelijk en niet erg zinvol 🙂

P.S Ze vroegen me waarom ik XAMPP geen schone installatie van alle componenten te gebruiken als ze is mijn Debian geboren – Het antwoord is heel simpel – luiheid. Lazy me om een ​​paar commando's te schrijven toen raakte zijn konfovete etc.. Veel gemakkelijker is het raken van het hele pakket en pak je licht 😉

Versterkt door Zemanta

Image representing MySQL as depicted in CrunchBase

Enige tijd geleden schreef ik over MySQL full text search 🙂 Vandaag had ik een zeer interessante ervaring met één applicatie. In het algemeen, het verzoek zoekt naar resultaten andere tafel mist. Selecteer een hoofd- en een sub selecteren in de WHERE-gedeelte van de applicatie. In het algemeen skelet en

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

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

In principe eenvoudig verzoek. Ik schreef het voor 30 sec voer het uit, en stak machine. Na een lang en geduldig te wachten op mijn part of gewoon ~ 43 sec . Het spuwde resultaat lol . Pfff gekkenhuis. Inloggen machine blik processor is normaal gesproken bezet bijna rusttoestand. Shock and awe. Replay toepassing opnieuw hetzelfde resultaat. neuken WTF. Run verklaren het verzoek en al scheen – Alleen tweede veld secondTextField Zoek volledige text без index, en er is een bescheiden schaal van ongeveer 35K regels. Wie gelezen – Zoek volledige text не е индекс. Al duidelijk probleem snel een

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

En dingen viel op zijn plaats Query nam 0.0005 sec 😀

Wees voorzichtig met hoe je de indices van hen afhankelijk van uw marginale tarief verzoek.

P.S het algemeen ben ik verslaafd aan de bovenste situatie, niet alleen omdat er geen index, maar omdat het niet gebruiken van full text search methode 😀

Versterkt door Zemanta

Gisteren na het updaten van de versie van mysql, -Server gezien om me begon tegen me te schreeuwen, dat er een tafel, die niet netjes werd gesloten en moet worden gerepareerd, etc.. blah, wat zal deze tabel, Nog steeds heb ik mijn 30-iets op deze server. Een optie is te zien in de log-s wat het zegt over de kwestie en run reparatie van de tafel of de andere optie – verreweg de betere – Het is te herstellen lopen, controle en optimalisatie van alle tabellen. Dit zal mysqlcheck tool. Over het algemeen opties in dit geval zijn beide komendi zijn synoniem aan elkaar:

mysqlcheck -Aor -u root -p

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

algemeen, dat beide commando's te gebruiken, het effect zal hetzelfde zijn – aromatische reparatie, controle en optimalisatie van alle tabellen. Nadat u typt een van de twee commando's, U wordt gevraagd om het root wachtwoord van de mysql server-a u.