Possiamo facilmente uccidere tutte le query di mysql ad un utente specifico con elegante:

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

User123 sostituto con noi gli utenti vogliono e implementiamo in mysql e tutto è OK 🙂

Dalla scorsa settimana ha acquistato installazione Fantastico Deluxe, che a mio modesto parere è uno dei più decente per i server CPanel. Abbiamo installato e testato tutto è andato liscio. Oggi, un cliente mi ha parlato di un problema con la codifica di installazione di WordPress. Attraverso la roba e basi problema immediatamente brillato erano Latin1 UTF8 codifica di default invece di assumere. Ancora più divertente è, che phpMyAdmin-scritto e viene utilizzato per impostazione predefinita UTF8, dramma. Ho deciso di esaminare i file di Fantastico-per vedere se c'è un posto dove posso trovare me stesso impostazioni del database di default in un primo momento non vide nulla. Poi qualcosa mi Tekna per vedere cosa c'è in my.conf-e cosa vedere non c'era impostazioni corrispondenti nella configurazione e tutte le sue luci su qualunque cosa è impostato come predefinito. server MySQL hardkodnat use utf8 meno che non sia configurato con le altre impostazioni e fantastico-ovviamente è Latin1 ( che è abbastanza stupido decisione). La soluzione è banale come sempre aggiungere 2 linea in [mysqld] parte mancante di modo da UTF8 come codifica per impostazione predefinita e tutto va a dormire 🙂

carattere-set-server = utf8
regole di confronto server = utf8_general_ci

Non ho idea perché ho perso queste impostazioni quando ho giocato a fare diversi “Finney” MySQL impostazioni-.

Arricchito da Zemanta

Pochi giorni fuori XAMPP 1.8.0 ieri dopo l'aggiornamento dalla versione 1.7.7 Ho avuto un problema abbastanza interessante. PhpMyAdmin-e lui non si apre e scoppiò a 403

Accesso vietato!


Nuovo concetto di sicurezza XAMPP:

L'accesso alla oggetto richiesto è disponibile solo dalla rete locale.

Questa impostazione può essere configurata nel file “httpd-xampp.conf”.

Immediatamente aperto httpd-xampp.conf che per me è in / opt / lampp / etc / extra /, A prima vista tutto sembrava bene. Le regole per rete locale sono stati tra. A parte il localhost apertura. WTF ??? Ho guardato il log-e vedo che il mio accesso è tagliato fuori dalla konfiguatsiyata. Ecco ora che cosa Ansimai e francamente un po 'meno fortuna trovato il problema. Dopo aver attraversato httpd.conf-e vide in Consenti / Nega clausole un'ultima ordine Richiede tutto scontato. Oh eureka. Si tratta di un nuovo meccanismo di controllo che è entrato in Apache 2.4. x. Dà accesso o rifiutando qualsiasi tale fine, fondamentalmente imita Consenti / Nega funzionalità :). Per risolvere il problema aggiungere Richiede tutte le direttive concessi per la cartella / opt / lampp / phpmyadmin. Dopo i cambiamenti in me assomiglia

<elenco “/opt / lampp / phpMyAdmin”>
AllowOverride AuthConfig Limite
Order consentire,negare
Consentire da tutto
Richiede tutto scontato
</elenco>

 

Viangi può provare con un altro selvaggio, Ad esempio, per rinominare la cartella phpMyAdmin qualcosa di diverso e non fare alias. Ma è brutto e non molto significativo 🙂

P.S Mi hanno chiesto perché io uso XAMPP non pulire l'installazione di tutti i componenti come loro è il mio Debian born – La risposta è molto semplice – pigrizia. Mi pigro per scrivere alcuni comandi poi toccato il suo konfovete etc.. Molto più facile sta colpendo l'intero pacchetto e decomprimere si accende 😉

Arricchito da Zemanta

Image representing MySQL as depicted in CrunchBase

Qualche tempo fa ho scritto su MySQL Full Text Search 🙂 Oggi ho avuto un interessante esperienza con una query. In generale, la query è alla ricerca di risultati che mancano un'altra tabella. A selezionare un sub con e selezionare nella parte dove l'applicazione. In generale, lo scheletro ed è

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

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

In generale, una semplice richiesta. L'ho scritto per 30 SEC liberarla e bloccato la macchina. Dopo un lungo e pazientemente in attesa da parte mia o solo ~ 43 sec . Sputare il mio punteggio lol . Pfff Madhouse. Inserire nella macchina che dall'aspetto CPU normalmente viene caricata quasi in condizione di inattività. Shock e awe. Eseguire la query ancora ancora lo stesso risultato. Cazzo WTF. Eseguire la query e spiegare tutto io – il secondo campo è solo secondTextField ricerca full-text Nessun indice, e c'è un vassoio modesto di circa 35 k linea. Cosa leggere – Indice di ricerca full-text non è. È già chiaro il problema reale rapidamente uno

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

E le cose si posti che query ha preso 0.0005 😀 sec

Stare attento come metti gli indici di essi dipende il tasso marginale di applicazione.

p. s nel suo complesso mi sbaglio circa la situazione di cui sopra non solo perché manca un indice perché non si utilizza testo completo ricerca metodo 😀

Arricchito da Zemanta

Ieri dopo aver aggiornato la versione di MySQL, server visto che mi cominciò a gridare a me, che vi è una tabella, che non è stata chiusa in modo pulito e ha bisogno di riparazione, ecc. bla, Che sarà mai questo tavolo, Ancora ho il mio 30-qualcosa su questo server. Una possibilità è quella di vedere nel giornale di bordo s quello che dice sulla questione ed eseguire la riparazione della tabella o l'altra opzione – di gran lunga il migliore – E 'per eseguire la riparazione, la verifica e l'ottimizzazione di tutte le tabelle. Questo userà strumento mysqlcheck. Generalmente le opzioni in questo caso sono entrambi komendi sono sinonimi a vicenda:

mysqlcheck -Aor -u root -p

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

In generale, che entrambi i comandi da utilizzare, l'effetto sarà lo stesso – riparazione fragrante, screening e ottimizzazione di tutte le tabelle. Dopo aver digitato uno dei comandi, vi verrà chiesto per la password di root di mysql server-a si.