Инсталација и основна оптимизација МариаДБ-а на ЦентОС-у

У овом чланку ћу размотрити карактеристике инсталације, основну конфигурацију и оптимизацију МариаДБ сервера база података. Мој задатак је био да инсталирам МариаДБ и извршим основну конфигурацију на Линуку ЦентОС 7. Пошто је ово актуелно питање, надам се да ће вам чланак бити користан. На крају чланка дат ћу неколико примера конфигурационих датотека и можете их користити за одабир параметара за ваш сервер.

Садржај:

  • Инсталирајте МариаДБ на ЦентОС
  • Заштита и сигурност МариаДБ
  • Провера повезаности са МариаДБ сервером
  • Подешавање МариаДБ конфигурационе датотеке
  • Оптимизација перформанси и подешавање МариаДБ
  • Основне команде за рад на МариаДБ конзоли

Инсталирајте МариаДБ на ЦентОС

Недавно је МариаДБ укључена у стандардно основно спремиште за ЦентОС 7, али то спремиште садржи верзију 5.5. Ова верзија више није релевантна, има проблема са перформансама и нема претраживања целокупног текста у ИнноДБ-у. У тренутку писања текста, тренутна верзија МариаДБ-а је 10,4, тако да повезивањем на наш Линук сервер преко ссх-а прво повежемо развојно складиште програмера мариадб.орг, а затим крећемо у инсталирање сервера базе података.

Навикао сам да радим са датотекама преко нано едитор-а, инсталирам га преко иум:

уместо нано -и

И отворите датотеку спремишта за уређивање:

нано /етц/иум.репос.д/мариадб.репо

И додајте следеће информације тамо:

[мариадб] наме = МариаДБ басеурл = хттп://иум.мариадб.орг/10.4/центос7-амд64 гпгкеи = хттпс: //иум.мариадб.орг/РПМ-ГПГ-КЕИ-МариаДБ гпгцхецк = 1 

Сачувајте датотеку и покрените инсталацију:

сад инсталирате МариаДБ сервер МариаДБ-клијент -и

Инсталација је завршена, сада морате додати услугу за покретање и покретање:

системцтл старт мариадб
системцтл омогућују мариадб

Проверите статус услуге:

системцтл статус мариадб

Мариадб сервис је покренут, тако да можете наставити са конфигурацијом.

Заштита и сигурност МариаДБ

Након што смо инсталирали и покренули МариаДБ, можемо да пређемо на безбедносне поставке. Покрените уграђену скрипту:

/ уср / бин / мискл_сецуре_инсталација

Овај сценариј детаљно описује сваки корак и нећемо се детаљно зауставити на сваком од њих. Прво ће тражити роот лозинку, али након почетне инсталације она није ту и зато притиснемо ентер и у следећој фази поставимо сложену лозинку (зависи од тога колико ће безбедан бити ваш сервер). Након тога, можете притиснути "ентер" до краја извршења скрипте, анонимни корисници, удаљена роот пријава, као и тестне таблице биће избрисане и привилегије ће се поново учитати.

Да бисте се повезали са мариадб сервером, морате да креирате правила у Линук заштитном зиду користећи иптаблес:

иптаблес -И УЛАЗ -п тцп --портпорт 3306 -м стање - дрзава НОВО, УСТАНОВЉЕН -ј ПРИХВАТ
иптаблес-саве> / етц / сисцонфиг / иптаблес

По жељи можете дозволити одлазне везе с другим МариаДБ базама података.

иптаблес -И ОУТПУТ -п тцп --портпорт 3306 -м стате --стате УТВРЂЕНО -ј АЦЦЕПТ

Провера повезаности са МариаДБ сервером

Провјерите је ли инсталација МариаДБ успјешна.

Повежите се на сервер базе података помоћу уграђене алатке мискладмин:

мискладмин верзија

Команда ће произвести резултат:

мискладмин Вер 9.1 Дистриб 10.4.7-МариаДБ, за Линук на к86_64 Цопиригхт (ц) 2000, 2018, Орацле, МариаДБ Цорпоратион Аб и други. Верзија сервера 10.4.7-МариаДБ протокол верзија 10 Повезивање Лоцалхост преко УНИКС соцкет УНИКС соцкет /вар/либ/мискл/мискл.соцк Уптиме: 11 мин 35 сец Теме: 7 Питања: 26 Спори упити: 0 Отвара: 20 Табеле испирања: 1 Отвори картицу

То значи да је инсталација МариаДБ била успешна, база података је у функцији..

Можете се повезати с конзолом маридб сервера за интерактивно извршавање скл наредби:

мискл -у роот -п

Подешавање МариаДБ конфигурационе датотеке

Обично након инсталирања МариаДБ додајем у конфигурациону датотеку /етц/ми.цнф његова стандардна конфигурација, која ради на више сервера и досад није било проблема са базама података. Очистите мој.цнф и додајте му сљедеће:

[мисклд] лоцал-инфиле = 0 датадир = / вар / либ / мискл соцкет = / вар / либ / мискл / мискл.соцк симболиц-линкс = 0 мак_алловед_пацкет = 128М скл_моде = "" лог-еррор = / вар / лог / мискл -еррор.лог # Цацхе параметре куери_цацхе_сизе = 16М табле_опен_цацхе = 4096 тхреад_цацхе_сизе = 16 кеи_буффер_сизе = 8М тхреад_стацк = 256К јоин_буффер_сизе = 2М сорт_буффер_сизе = 2М # параметри за привремених табела тмпдир = / тмп мак_хеап_табле_сизе = 32М тмп_табле_сизе = 32М # ИнноДБ параметре иннодб_филе_пер_табле иннодб_буффер_поол_сизе = 32М иннодб_флусх_лог_ат_трк_цоммит = 2 иннодб_флусх_метход = О_ДИРЕЦТ иннодб_усе_нативе_аио = 0 трансакција-изолација = РЕАД-ЦОММИТТЕД карактера-сет-сервер = утф8 цоллатион-сервер = утф8_уницоде_ци инит-цоннецт = "ПОСТАВИ НАМЕСптц_птц_птц_птц_птц_птц_птц_птц_пц_птц_пц_пц_пц_пц_пц_пц_пц_пц_пц_пц_пц_пц_пц_пц_пц_пц_пц_пц_пц_пц_пц_пц_пц_вцрп_пц_пц_пц_пц_пц_пц имена мак_алловед_пацкет = 128М дефаулт-сет знакова = утф8 [мискл] [исамцхк] кеи_буффер = 16М [мисклд_сафе] лог-еррор = / вар / лог / мариадб / мариадб.лог пид-филе = / вар / рун / мариадб / мариадб. пид 

За опште разумевање, анализираћемо главне параметре конфигурационе датотеке ми.цнф:

  • датадир - директоријум за чување датотека базе података;
  • тмпдир - директоријум за чување привремених датотека;
  • прескочите-разрешите име - онемогућава ДНС резолуцију;
  • мак_алловед_пацкет - максимална величина пакета. Ако се у бази података користе блоб поља, вриједност морате поставити на најмање највеће поље;
  • мак_цоннецтионс - максимални број отворених веза, параметар одређује колико клијената може истовремено да ради са сервером базе података;
  • Одељак # Параметри предмеморије - све везано за предмеморију упита; превисоко постављање вредности јер се потрошња ресурса од стране сервера базе података повећава;
  • Одељак # ИнноДБ параметри - све везано за иннодб табеле;
  • иннодб_буффер_поол_сизе - предмеморирање предмеморирања података и индекса, ако се на послужитељу налазе 1-2 пројекта, поставите вриједност на 70-80% доступне РАМ-а;
  • иннодб_флусх_метход - за Линук поставите вредност на О_ДИРЕЦТ, то ће онемогућити кеширање на нивоу ОС;
  • иннодб_флусх_лог_ат_трк_цоммит - овај параметар утиче на брзину писања инДД табела. Овај параметар схватите озбиљно, подешавањем вредности на 0 добијете више перформанси, али ризик губитка података расте. Радије постављам вредност на 2, пошто нисам приметио велико повећање рада сервера базе података, а сигурност је изнад свега.

Оптимизација перформанси и подешавање МариаДБ

Желим додати да се не морате посебно ослањати на моју конфигурацијску датотеку, препоручљиво је одабрати властите параметре за сваки сервер и за сваки пројекат. Препоручујем употребу скрипти за аутоматску провјеру МариаДБ конфигурације, које након извршења дају неке препоруке за оптимизацију сервера.

Инсталирајте скрипту Тунинг-Пример.сх:

иум инсталирајте бц нет-тоолс -и

Преузмите скрипту:

вгет хттпс://лаунцхпадлибрариан.нет/78745738/тунинг-пример.сх

Дајемо права:

цхмод + к тунинг-пример.сх

Ми покрећемо:

./тунинг-пример.сх

Након извршења, скрипта ће вам дати све информације са којима морате да се упознате. Важне тачке биће означене црвеном бојом и морат ћете их исправити кад год је то могуће..

На пример, моја скрипта је одмах показала да је број коришћених веза много мањи од онога што сам поставио:

Овај параметар се може променити, и у датотеци ми.цнф и преко конзоле, смањио сам га на 10 и скрипта ме похвалила:

Уз помоћ таквих манипулација можете довести до идеалног рада вашег сервера база података.

Желим напоменути да препоручено континуирано радно вријеме послужитеља базе података износи најмање 48 сати, тада ће информације бити тачније и на основу тога ћете требати извршити подешавање.

У моју конфигурациону датотеку можете додати одељак за активирање дневника спорих упита, што ће вам помоћи да анализирате рад својих пројеката. У одељку „мисклд“ додајте:

слов_куери_лог = 1 # омогућите дневник спорих упита лонг_куери_тиме = 5 # подесите време у секунди слов_куери_лог_филе = /вар/лог/слов-куери.лог # име и пут до датотеке датотеке дневних спора упита

Такође морате да креирате датотеке дневника за МариаДБ и споро грешке у евиденцији упита:

додирните /вар/лог/мискл-еррор.лог
додирните /вар/лог/слов-куери.лог

Поновно покрећемо услугу:

системцтл поново покренути мариадб

Дневник спорих упита можете прегледати отварањем датотеке /вар/лог/слов-куери.лог или провјеравањем у стварном времену:

реп -ф /вар/лог/слов-куери.лог

Тако можете анализирати упите у базу података вашег пројекта и на основу тога извршити ревизију.

Након било каквих промена у подешавањима базе података, морате да проверите у конфигурацији грешке:

Будите сигурни да након свих послова са подешавањем база података проверите статус грешака покретањем наредбе:

системцтл статус мариадб -л

Основне команде за рад на конзоли МариаДБ

Следе главне наредбе цли-ова које администратор најчешће мора користити током рада на маридб конзоли.

Да бисте се локално пријавили на МариаДБ конзолу, покрените:

мискл -у роот -п

Да бисте се даљински повезали са сервером базе података МариаДБ:

мискл -у роот -п -х 10.1.1.20

Корисне команде:

креирање базе података дб1; - направите базу података под називом дб1

прикажи базе података; - попис креираних база података

користите дб1; - унесите базу података са именом дб1

прикажите табеле; - прикажите табеле база података у којима се налазимо

креирати корисничког 'тест' @ 'лоцалхост' идентифицираног са '123456'; - креирајте кориснички тест и поставите лозинку 123456 (користите сложеније лозинке)

доделите све привилегије на име базе података. * за 'тест' @ 'лоцалхост'; - дати пуна права на корисничком тесту

испирање привилегија; - ажурирајте све привилегије

прикажи листу процеса; - погледајте активне везе у бази података или можете користити наредбу:

прикажите статус у којем је 'променљива_име' = 'Конектори повезани';

Такође, са мискл конзоле можете да прегледате или промените параметре, на пример:

ПОКАЖИ ВАРИАБЛЕС ЛИКЕ 'мак_еррор_цоунт';

Уреди:

СЕТ мак_еррор_цоунт = 256;

Закључно, желим рећи да се приликом постављања сервера базе података морате поуздати у пројекте који ће бити домаћин на овом серверу. Оно што је применљиво за мале пројекте, у основи, можда није погодно за велики пројекат. Пробајте, експериментишите и најважнија ствар је увек гледати у записнике. У следећем ћемо чланку показати како организовати високу доступност и повећати перформансе апликација користећи репликацију између послужитеља у МариДБ-у.