Mistään (ei minulle hyvin selväksi syitä) Unohdin tehdä päivitys postgresql daemon alle toiminnan välittäjiä tulehdus päivitys yksi Debianin palvelimet -. Postgresql daemon on mukava ominaisuus ole alkaneet käyttää uusi versio (toisin kuin Mysql) vaikka ei vakuuttava, mitä uutta täysin yhteensopiva käynnistää – erittäin hyödyllinen suuria tietokantoja. Päivitys rajoitu, seuraavat 2 vaiheet:

  • pg_dropcluster
  • pg_upgradecluster

Ennen estropia pg klusterin daemon on pysäytettävä!

pg_dropcluster 9.4 main

Tämä komento kulkee nopeasti, sitten siirrymme korostaa – yksinkertainen päivitys

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

Jos kaikki on sileä minlo saat viestin kuin edellä, jossa voit valita pois vanhoja tietoja pg.

pg_dropcluster 9.1 main

Lopussa tämä nyt alku Tarpan jalostaa jälleen. Minusta ovat pieniä ja valitettavasti en voi antaa arvio ja kuinka paljon aikaa kuluu tärkeää päivitystä.

Viime viikolla ostin Fantastico Deluxe-asentaja, mikä minun mielestäni on yksi prilichnye CPanel palvelimet. Me asennettu, testattu ja kaikki meni sujuvasti. Tänään yksi asiakas kertoi, että ongelma koodaus wordpress. Kävin läpi kaikki kerralla lysna ongelma, se oli koodauksen default Latin1 sijaan UTF8 odotetusti. Edelleen hauskin, phpmyadmin kirjoittaa, että UTF8 käytetään oletuksena, teatteri. Päätin tarkastella tiedostoja Fantastico, nähdä, jos siellä on jossain, missä voin olla asetukset oletuksena tietokanta ensi silmäyksellä näki mitään. Olen Tecna nähdä, mitä on minun.Conf ja nähdä, että se ei ole tarvittavat asetukset kokoonpano ja kaikki laski, että se on asennettu oletuksena. Mysql-palvelimen kovakoodattu käyttää UTF8, jos ei asettaa muita asetuksia ja Fantastico on ilmeisesti Latin1 ( se on aika tyhmä päätös). Решението както винаги е тривиално добавят се 2 реда в [tusdi] часста за да се окаже UTF8 като кодировка по подразбиране и всичко заспива 🙂

character-set-server=utf8
collation-server=utf8_general_ci

Нямам никаква идея поради каква причина съм пропуснал тези настройки при положение че си играх да правя няколкофининастройки на mysql-а.

Parannettu Zemanta

Image representing MySQL as depicted in CrunchBase

Преди известно време бях писал за MySQL Full Text Search 🙂 Днес имах много интересно преживяване с една заявка. В общи линии заявката търси за резултати който липсват друга таблица. Един основне Select и един sub select в WHERE частта на заявката. В общи линии скелета и е

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

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

В общи линии елементарна заявка. Написах я за 30 сек пускам я и зацикли машината. След дълго и търпеливо чакане от моя страна или по точно ~43 сек . Ми се изплю резултат lol . Пффф лудница. Влизам в машината гледам процесора е нормално натоварен почти в idle състояние. Шок и ужас. Пускам пак заявката пак същия резултат. Fuck WTF. Пускам explain на заявката и всичко лъснавторото поле secondTextField е само full text search без index, а там табличката е скромна от около 35к реда. Кой да четеfull text search не е индекс. Вече е ясен проблема набързо едно

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

И нещата си дойдоха на местата Query took 0.0005 sec 😀

Внимавайте как си слагате индексите от тях ви зависи маргинално скоростта на заявката.

p.s Като цяло аз съм си крив за горната ситуация не само защото липсва индекс ами защото не ползва full text search метода 😀

Parannettu Zemanta

Eilen, päivityksen jälkeen mysql versio, palvelin tunnisti minun alkoi huutaa minulle,, se on merkki, joka ei ole kiinni siististi ja on korjauksen tarpeessa, ja niin edelleen. Blah, mikä on tämä taulukko, Tein noin 30 tällä palvelimella. Yksi vaihtoehto on nähdä log-Oh, hän kirjoittaa asiasta ja korjata taulukko tai muita – paljon parempi – - korjaus, tarkistaa ja optimoida kaikki pöydät. Voit tehdä tämän, ohjelma käyttää mysqlcheck. Общо взето вариантите в случая са като и двете коменди са синонимни една на друга:

mysqlcheck -Aor -u root -p

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

Общо взето, която и от двете команди да използвате, ефектът ще е еднакъвароматична поправка, проверка и оптимизация на всички таблици. След като напишете която и да е от двете команди, ще бъдете попитани за root паролата на mysql server-a ви.