pentru unii (nu foarte clar motivele mele) Nu am reușit să faceți upgrade daemon în postgresql distributiv upgrade-una dintre serverele mele Debian. demon are o caracteristică postgresql frumos nu a început să utilizeze noua versiune (spre deosebire de Mysql) în timp ce nu convinge, noul este pe deplin compatibil cu lansarea – extrem de util pentru baze de date mari. Procesul de actualizare limitată la următoarele 2 trepte:

  • pg_dropcluster
  • pg_upgradecluster

Înainte de a izdropite daemon de cluster pg trebuie să fie oprit!

pg_dropcluster 9.4 main

Тази команда преминава бързо, след което преминаваме към съществената частсамият ъпгрейд

pg_upgradecluster 9.1 main
Disabling connections to the old cluster during upgrade...
Restarting old cluster with restricted connections...
Creating new cluster 9.4/main ...
config /etc/postgresql/9.4/main
data   /var/lib/postgresql/9.4/main
locale en_US.UTF-8
Flags of /var/lib/postgresql/9.4/main set as -------------e-C
port   5433
Disabling connections to the new cluster during upgrade...
Roles, databases, schemas, ACLs...
Fixing hardcoded library paths for stored procedures...
Upgrading database postgres...
Analyzing database postgres...
Fixing hardcoded library paths for stored procedures...
Upgrading database template1...
Analyzing database template1...
Fixing hardcoded library paths for stored procedures...
Upgrading database xpqt...
Analyzing database xpqt...
Re-enabling connections to the old cluster...
Re-enabling connections to the new cluster...
Copying old configuration files...
Copying old start.conf...
Copying old pg_ctl.conf...
Copying old server.crt...
Copying old server.key...
Stopping target cluster...
Stopping old cluster...
Disabling automatic startup of old cluster...
Configuring old cluster to use a different port (5433)...
Starting target cluster on the original port...
Success. Please check that the upgraded cluster works. If it does,
you can remove the old cluster with

pg_dropcluster 9.1 main

Ако всичко е минло гладко трябва да получите съобщение като горното което ви подканва да разкарате старите данни от pg.

pg_dropcluster 9.1 main

В края на тая тарпана вече можете да стартирате процеса си отново. При мен базите са малки и за съжаление не мога да дам оценка за колко време преминава същественият ъпгрейд.

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

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.