MariaDB-ni Windows-ga o'rnatish. MySQL-dan Windows-da MariaDB-ga o'tish

MariaDB nima

MariaDB - bu MySQL-ga tayanadigan va asosan mos keladigan ma'lumotlar bazasini boshqarish tizimi (DBMS).

MariaDB va MySQL SQL so'rovlari sintaksisida to'liq mos keladi. Ya'ni, agar sizning dasturingiz MySQL ma'lumotlar bazalaridan foydalansa (masalan, PHP-dagi veb-sayt), u holda MariaDB-ga o'tganingizda, dasturda biror narsani o'zgartirishingiz shart emas.

MariaDB MySQL konnektorlari bilan ham ikkilik mos keladi. Bular. agar siz MySQL ulagichlaridan foydalansangiz, MariaDB-ga o'tishda ularni o'zgartirishingiz shart emas.

MariaDB MySQL ma'lumotlar bazasi formatlari bilan mos keladi, ammo ba'zi nuanslar mavjud. Agar siz ma'lumotlar bazalarini eksport/import orqali uzatsangiz (masalan, SQL fayli yordamida), u holda bu tarzda uzatilgan ma'lumotlar bazalari har qanday versiyalar o'rtasida to'liq mos keladi va boshqa hech qanday harakatni talab qilmaydi. Ammo, agar siz MariaDB-ni MySQL orqali o'rnatgan bo'lsangiz, ya'ni MariaDB MySQL ma'lumotlar bazasi fayllaridan foydalansa, unda siz muvofiqlikni hisobga olishingiz kerak:

  • MariaDB 10.2 MariaDB maʼlumotlar fayllarining oldingi versiyalari, shuningdek MySQL 5.6 va MySQL 5.7 bilan mos keladi, lekin MySQL 8.0 bilan mos kelmaydi.
  • MariaDB 10.1 MariaDB ma'lumotlar fayllarining oldingi versiyalari va MySQL 5.6 bilan orqaga qarab mos keladi.

Qo'shimcha ma'lumot: https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/

MariaDB Windows va Linuxda ishlaydi. Bu dastur butunlay ochiq manba hisoblanadi. U Windows va barcha mashhur Linux distributivlari uchun manba kodlari va kompilyatsiya qilingan bajariladigan dasturlar shaklida tarqatiladi.

Nima uchun MariaDB MySQL-dan yaxshiroq?

MariaDB ko'proq saqlash mexanizmlarini qo'llab-quvvatlaydi.

Standart MyISAM, BLACKHOLE, CSV, MEMORY, ARCHIVE va MERGE saqlash dvigatellaridan tashqari MariaDB ham quyidagilarga ega:

  • Ustunga yo'naltirilgan saqlash tizimi ColumnStore ma'lumotlar ombori uchun optimallashtirilgan.
  • MyRocks, yuqori darajada siqilgan saqlash tizimi, 10.2.dan beri qo'shilgan
  • Aria, yaxshilangan keshlash bilan MyISAM o'rniga.
  • FederatedX (Federated uchun almashtirish)
  • OQGRAFI.
  • SfenksSE.
  • TokuDB.
  • ULANMOQ.
  • SEQUENCE.
  • O'rgimchak.
  • Kassandra.

MariaDB ma'lumotlarni qayta ishlash tezligida turli xil yaxshilanishlar va optimallashtirishlarga ega.

MariaDB yangi kengaytmalar va xususiyatlar bilan yangilandi.

Windows uchun MariaDB-ni yuklab oling

MariaDB bepul, uni rasmiy saytdan yuklab olish tavsiya etiladi. MariaDB yuklab olish sahifasi: https://downloads.mariadb.org/

Siz bir nechta epizodlarni ko'rasiz - dasturning bir nechta asosiy versiyalari. Agar sizga MySQL bilan maxsus moslik kerak bo'lmasa, so'nggi versiyani tanlang va "Yuklab olish" tugmasini bosing.

Ushbu dastur turli xil operatsion tizimlarda ishlaganligi sababli, keyingi oynada yuklab olinadigan fayllarning katta tanlovini ko'rasiz.

Fayllar Windows x86_64 64-bitli versiyalar va Windows x86- 32-bit.

.zip- bu o'zingiz o'rnatishingiz kerak bo'lgan portativ versiyalar, lekin ular nozik sozlashda to'liq erkinlik beradi. A .msi Windows uchun oʻrnatuvchi hisoblanadi.

Ushbu ko'rsatmada men versiya bilan ishlash misolini ko'rsataman .zip.

Keyingi sahifada faqat tugmani bosing: " Yo'q, rahmat, meni yuklab olish uchun olib boring»:

MariaDB-ni Windows-ga o'rnatish

Windows uchun MariaDB o'rnatuvchi va ZIP arxivi sifatida tarqatiladi. Men ZIP arxividan o'rnatishni afzal ko'raman, chunki u menga jarayonni to'liq boshqarish imkonini beradi.

Men papkadagi barcha misollarda o'rnataman C: \ Server \ bin \ tomonidan o'rnatilgan veb-serverning bir qismi sifatida menda MariaDB bor. Agar sizniki boshqacha bo'lsa, buni hisobga oling va tegishli tuzatishlarni kiriting.

mariadb va o'ting C: \ Server \ bin \.

Jildni siljiting C: \ Server \ bin \ mariadb \ ma'lumotlar \ jildga C: \ Server \ ma'lumotlar \ JB \.

Jildda C: \ Server \ bin \ mariadb \ fayl yarating my.cnf va unga nusxa ko'chiring:

MySQL-dan Windows-da MariaDB-ga o'tish

Ma'lumotlar bazalarini saqlash bilan MySQL-dan MariaDB-ga o'tish

O'tishni turli yo'llar bilan amalga oshirishingiz mumkin. Men sizga to'liq muvofiqlikni ta'minlash va boshqa muammolar bo'lmasligi uchun eng ko'p qirrali usulni ko'rsataman.

Ma'lumotlar bazangizni zaxiralashdan boshlashingiz kerak. Biz buni yordamchi dastur yordamida buyruq satrida qilamiz (MySQL bilan ta'minlangan va papkada joylashgan) bin).

Windows buyruq satrini oching. Buning uchun bosing Win + x va tanlang Windows PowerShell (Administrator)... Ochilgan oynada ishga tushiring

Keling, ushbu yordamchi dastur joylashgan papkaga o'tamiz (sizda boshqa yo'l bo'lishi mumkin):

CD C: \ Server \ bin \ mysql-8.0 \ bin \

Quyidagi buyruq bilan barcha ma'lumotlar bazalarini o'chirib tashlang (zaxiralang):

Mysqldump.exe -u root -p --all-ma'lumotlar bazalari> all-databases.sql

Endi papkada C: \ Server \ bin \ mysql-8.0 \ bin \ fayl paydo bo'ladi all-databases.sql- uni xavfsiz joyga nusxalashni unutmang!

Endi MySQL xizmatini to'xtating va uni ishga tushirishdan olib tashlang:

Bundan tashqari, jildni xavfsiz joyga nusxalash C: \ Server \ ma'lumotlar \ DB \ ma'lumotlar \- Bu MySQL ma'lumotlar bazasi fayllarining qo'shimcha zaxira nusxasi - agar MariaDB bilan biror narsa noto'g'ri bo'lsa va siz MySQL-ga qaytishni xohlasangiz.

Endi papkalarni o'chiring C: \ Server \ bin \ mysql-8.0 \(ikkilik) va C: \ Server \ ma'lumotlar \ DB \ ma'lumotlar \(Ma'lumotlar bazasi).

Yuklab olingan arxivni MariaDB bilan oching, papka nomini oʻzgartiring mariadb va o'ting C: \ Server \ bin \.

Jildni siljiting C: \ Server \ bin \ mariadb \ ma'lumotlar \ jildga C: \ Server \ ma'lumotlar \ JB \.

Jildda C: \ Server \ bin \ mariadb \ fayl yarating my.cnf va unga nusxa ko'chiring:

Datadir = "c: / Server / ma'lumotlar / DB / ma'lumotlar /"

Xizmatni o'rnatish va ishga tushirish uchun buyruqlarni bajaring:

C: \ Server \ bin \ mariadb \ bin \ mysqld --net start mysql-ni o'rnating

Zaxiradan ma'lumotlar bazalarini joylashtirish uchun papkaga o'ting C: \ Server \ bin \ mariadb \ bin \:

Cmd cd C: \ Server \ bin \ mariadb \ bin \

Va shunday buyruqni bajaring:

Mysql -uroot< C:\путь\до\файла\резервной_копии.sql

Masalan, menda fayl bor all-databases.sql papkada joylashgan ma'lumotlar bazalarining zaxira nusxasi bilan h: \ Dropbox \! Zaxiralash \ keyin mening buyrug'im shunday:

Mysql -uroot< h:\Dropbox\!Backup\all-databases.sql

Import tugashini kuting - agar fayl katta bo'lsa, jarayon uzoq vaqt talab qilishi mumkin.

Ma'lumotlar bazalarini saqlamasdan MySQL-dan MariaDB-ga o'tish

MySQL xizmatini to'xtating va uni ishga tushirishdan olib tashlang:

Net stop mysql c: \ Server \ bin \ mysql-8.0 \ bin \ mysqld --remove

Jildlarni o'chirish C: \ Server \ bin \ mysql-8.0 \(ikkilik) va C: \ Server \ ma'lumotlar \ DB \ ma'lumotlar \(Ma'lumotlar bazasi).

Yuklab olingan arxivni MariaDB bilan oching, papka nomini oʻzgartiring mariadb va o'ting C: \ Server \ bin \.

Jildni siljiting C: \ Server \ bin \ mariadb \ ma'lumotlar \ jildga C: \ Server \ ma'lumotlar \ JB \.

Jildda C: \ Server \ bin \ mariadb \ fayl yarating my.cnf va unga nusxa ko'chiring:

Datadir = "c: / Server / ma'lumotlar / DB / ma'lumotlar /"

Xizmatni o'rnatish va ishga tushirish uchun buyruqlarni bajaring:

C: \ Server \ bin \ mariadb \ bin \ mysqld --net start mysql-ni o'rnating

Ushbu maqola "CentOS 7 da MariaDB 10 ni o'rnatish" sizga MariaDB 10 ni CentOS 7 da qanday o'rnatish va sozlashni ko'rsatib beradi. Siz allaqachon bilganingizdek, MariaDB ma'lumotlar bazasi serveri endi Oracle (bosh kompaniya MySQL) va GPL litsenziyasi tufayli CentOS da sukut bo'yicha hisoblanadi. masalalar. MariaDB ochiq manba hisoblanadi va jamoa asta-sekin MySQL-dan MariaDB-ga o'tmoqda.

Agar siz hikoyani bilmasangiz, qisqacha qisqacha ma'lumot. Oracle MySQL-ga ega bo'lishidan oldin, u GPL (GNU General Public License) ga asoslangan edi, unda siz dasturiy ta'minotdan bepul foydalanishingiz mumkin, ammo manba kodini sovg'a qilmaguningizcha uni o'zgartira olmaysiz yoki sota olmaysiz. Bu siz uni yopiq manba loyihangizda ishlatishingiz mumkinligini anglatadi.

Oracle litsenziya shartnomasini GPL modelidan o'zgartirganda, ochiq manbalar hamjamiyatining aksariyati qo'zg'olon ko'tardi va ba'zilari MySQL-dan guruh yaratib, MariaDB-ni yaratdilar.

Shunday qilib, MariaDB ma'lumotlar bazasi serveri MySQL bilan bir xil, ammo GPL litsenziyalash modeli bilan.

Endi MariaDB nima uchun va qanday tashkil etilgani haqida bir oz ko'proq ma'lumotga ega bo'lganingizdan so'ng, keling, uni CentOS 7 ga qanday o'rnatishni bilib olaylik.

CentOS 7 da MariaDB o'rnatilishi

Endi MariaDB CentOS uchun standart maʼlumotlar bazasi serveridir, uni oʻrnatish uchun quyidagi buyruqlarni bajarish kifoya.Muammo shundaki, centos MariaDB ning eski, ammo barqaror versiyasini yuklab oladi va oʻrnatadi.

Agar siz MariaDB-ning so'nggi versiyasini o'rnatmoqchi bo'lsangiz, uning dasturiy ta'minot omborini kompyuteringizga qo'shishingiz va o'rnatishingiz kerak. Buning uchun ombordan fayl yaratish uchun quyidagi buyruqlarni bajaring.

$ sudo vim /etc/yum.repos.d/MariaDB.repo

Keyin quyidagi satrlarni faylga nusxa ko'chiring va joylashtiring va uni saqlang.

Ism = MariaDB baseurl = http://yum.mariadb.org/10.0/centos7-amd64 gpgkey = https: //yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck = 1

Nihoyat, MariaDB 10 ni serveringizga o'rnatish uchun quyidagi buyruqlarni bajaring:

$ sudo yum MariaDB-server MariaDB-mijozni o'rnating

Xatolar bilan bog'liq muammolarga duch kelsangiz va MariaDB-ni mariadb-libs-xxxx bilan ziddiyat tufayli o'rnatib bo'lmasa, ziddiyatli kutubxonalarni olib tashlash uchun quyidagi buyruqni bajaring va keyin yuqoridagi buyruqni o'rnatishni qayta ishga tushiring:

$ sudo yum mariadb-libs olib tashlash *

Postfix paketini ham olib tashlashingiz kerak. MariaDB-ni o'rnatish uchun yuqoridagi buyruqni qayta ishga tushiring.

O'rnatish tugallangach, MariaDB bilan serverni ishga tushirish uchun quyidagi buyruqni bajaring:

$ sudo /etc/init.d/mysql start

Keyin ma'lumotlar bazasi serverini himoya qilish uchun quyidagi buyruqni bajaring.

$ sudo mysql_secure_installation

Keyin, tugatmaguningizcha qolgan takliflar uchun "Y" (Ha) ni tanlang.

Ildiz uchun joriy parolni kiriting (hech biri uchun kiriting): Enter tugmasini bosing Ildiz paroli o'rnatilsinmi? Y Yangi parol: Yangi ildiz parolini kiriting Yangi parolni qayta kiriting: Parolni tasdiqlang Anonim foydalanuvchilar olib tashlansinmi? Y masofadan turib ildiz tizimiga kirishga ruxsat berilmaydimi? Y Test ma'lumotlar bazasini olib tashlash va unga kirish mumkinmi? Imtiyozli jadvallarni hozir qayta yuklaysizmi? Y

Nihoyat, MariaDB uchun standart cnf.ini faylini / etc / da almashtirishingiz kerak. Lekin birinchi navbatda siz borishingiz kerak:

$ cd / usr / almashish / MySQL

Va ushbu papkada mavjud bo'lgan (Ulkan, O'rta va Kichik) oldindan belgilangan cnf.ini konfiguratsiyalaridan birini ishlating.

Keling, cnf.ini faylining zaxira nusxasini yarataylik:

$ sudo mv /etc/cnf.ini /etc/cnf.ini.bak

Keyin MariaDB-dagi oldindan konfiguratsiyalardan birini nusxalash:

$ sudo cp /usr/share/mysql/my-huge.cnf /etc/cnf.ini

MaraiDB qayta ishga tushirilmoqda:

$ systemctl MySQL-ni qayta ishga tushiring

Siz holatni tekshirishingiz mumkin:

$ systemctl holati mariadb

Siz MariaBD-ni OS ishga tushirishga qo'shishingiz mumkin:

$ systemctl mariadb ni yoqadi

Men foydalanuvchi yaratishim kerak va u har qanday kompyuterdan ulanishi mumkin, buning uchun:

$ mysql -uroot -u> BO'LGAN BARCHA IMZOYLARNI BERING *. * "kapitan" GA @ "my_password" BILAN "%" GA GRANT VARIANTI BILAN; > chiqish

SS buyrug'i yordamida MariaDB qaysi portni tinglayotganini tekshiramiz:

# ss -tnlp | grep 3306 TINGLASH 0 0 127.0.0.1:3306 *: * foydalanuvchilar: (("mysqld", 1159.14))

Meni shunday ko'rinadi (men JB serveriga masofaviy ulanishga ruxsat berdim):

TINGLASH 0 50 *: 3306 *: * foydalanuvchilar: (("mysqld", 10884.13))

MariaDB 10 ni CentOS 7 da o'rnatish tugallandi.

| |

1-qadam - MariaDB-ni o'rnatish

Debian 9 standart omborida MariaDB 10.1 paketini o'z ichiga oladi. Bu uning standart MySQL variantidir.

Uni o'rnatish uchun paket indeksini yangilang:

Endi paketni o'rnating:

sudo apt mariadb serverini o'rnating

Buyruq MariaDB-ni o'rnatadi, lekin u sizdan parol tanlashni yoki boshqa sozlamalarni o'zgartirishni taklif qilmaydi. Ayni paytda MariaDB o'rnatilishida hal qilinishi kerak bo'lgan bir nechta zaifliklar mavjud.

2-qadam - MariaDB-ni sozlash

O'rnatish tugallangandan so'ng, ishonchsiz parametrlarni olib tashlaydigan va ma'lumotlar bazasini ruxsatsiz kirishdan himoya qiladigan xavfsizlik skriptini ishga tushirishingiz kerak.

sudo mysql_secure_installation

Ssenariy bir qator savollarni beradi. Avval siz MariaDB ildiz parolini kiritishingiz kerak. Bu MariaDB ma'muriy hisobi bo'lib, u yuqori imtiyozlarga ega. Siz hozirgina MariaDB-ni o'rnatdingiz va hali konfiguratsiyaga o'zgartirish kiritmadingiz, sizda hali bu parol yo'q, shuning uchun Enter tugmasini bosing.

Keyingi so'rovda skript ma'lumotlar bazasi uchun ildiz parolini o'rnatishingizni so'raydi. N kiriting va Enter tugmasini bosing. Debian'da MariaDB ildiz hisobi avtomatlashtirilgan tizimga texnik xizmat ko'rsatish bilan chambarchas bog'langan, shuning uchun siz ushbu hisob uchun standart autentifikatsiya usullarini o'zgartira olmaysiz. Aks holda, paket yangilanganda, ma'lumotlar bazasi zarar ko'rishi va ildiz hisobiga kirish yo'qolishi mumkin. Agar rozetka autentifikatsiyasi sizga mos kelmasa, qo'shimcha administrator hisobini qanday o'rnatishni keyinroq ko'rib chiqamiz.

Boshqa savollar uchun Y va Enter tugmalarini bosishingiz mumkin. Bu anonim foydalanuvchilarni oʻchirib tashlaydi va maʼlumotlar bazalarini sinab koʻradi, masofaviy ildizga kirishni oʻchiradi va joriy MariaDB sozlamalarini yangilaydi.

3-qadam - Parol autentifikatsiyasini qo'llab-quvvatlashni sozlash

Yangi Debian o'rnatmalarida MariaDB ildiz foydalanuvchisi sukut bo'yicha parol o'rniga unix_socket plagini bilan autentifikatsiyani qo'llab-quvvatlaydi. Bu ko'p hollarda xavfsizlik va foydalanish qulayligini yaxshilashi mumkin, ammo tashqi dasturga (masalan, phpMyAdmin) kirishga ruxsat berish kerak bo'lsa, u ham ishlarni qiyinlashtirishi mumkin.

Server jurnallarni aylantirish, serverni ishga tushirish va toʻxtatish kabi vazifalar uchun ildiz foydalanuvchidan foydalanganligi sababli, ildiz hisobi autentifikatsiyasini oʻzgartirmaslik yaxshiroqdir. /etc/mysql/debian.cnf da hisobga olish ma'lumotlarini o'zgartirish dastlab ishlashi mumkin, ammo keyingi paket yangilanishlari bu o'zgarishlarning ustiga yoziladi. Buning o'rniga, ishlab chiquvchilar parolni autentifikatsiya qilish bilan alohida administrator hisobini yaratishni tavsiya qiladilar.

Shunday qilib, root bilan bir xil huquqlarga ega, lekin parolni autentifikatsiya qilishni qo'llab-quvvatlaydigan admin deb nomlangan hisob yarating. Buning uchun terminalda MariaDB buyruq qatorini oching:

Endi ildiz huquqlari va parolni autentifikatsiya qilishni qo'llab-quvvatlaydigan yangi foydalanuvchi yarating. Buyruqda foydalanuvchi nomingiz va parolingizni kiriting.

HAMMAGA BERISH *. * "admin" @ "localhost" GA "parol" BILAN GRANT VARIANTI BILAN;

Imtiyozlarni bekor qilish:

FLUSH PRIVILEGLARI;

MariaDB qobig'ini yoping:

4-qadam - MariaDB sinovi

Standart ombordan o'rnatilganda MariaDB avtomatik ravishda ishga tushadi. Buni tekshirish uchun xizmat holatini tekshiring:

sudo systemctl statusi mariadb
mariadb.service - MariaDB ma'lumotlar bazasi serveri
Yuklangan: yuklangan (/lib/systemd/system/mariadb.service; yoqilgan; sotuvchi oldindan o'rnatilgan: yoqilgan)
Faol: 2018-09-04 16:22:47 UTCdan beri faol (ishlamoqda); 2 soat 35 daqiqa oldin
Jarayon: 15596 ExecStartPost = / bin / sh -c systemctl unset-environment _WSREP_START_POSIT
Jarayon: 15594 ExecStartPost = / etc / mysql / debian-start (kod = chiqdi, holat = 0 / SUCCESS)
Jarayon: 15478 ExecStartPre = / bin / sh -c [! -e / usr / bin / galera_recovery] && VAR = ||
Jarayon: 15474 ExecStartPre = / bin / sh -c systemctl unset-environment _WSREP_START_POSITI
Jarayon: 15471 ExecStartPre = / usr / bin / install -m 755 -o mysql -g root -d / var / run / mysql
Asosiy PID: 15567 (mysqld)
Holati: "SQL so'rovlaringiz hozir qabul qilinmoqda ..."
Vazifalar: 27 (chegara: 4915)
CGroup: /system.slice/mariadb.service
└─15567 / usr / sbin / mysqld
04-sentabr 16:22:45 deb-mysql1 systemd: MariaDB ma'lumotlar bazasi serverini ishga tushirish ...
04-sentabr 16:22:46 deb-mysql1 mysqld: 2018-09-04 16:22:46 140183374869056 / usr / sbin / mysqld (mysqld 10.1.26-MariaDB-0 + deb671 jarayonini boshlash ...
04-sentabr 16:22:47 deb-mysql1 systemd: MariaDB ma'lumotlar bazasi serverini ishga tushirdi.

Agar biron bir sababga ko'ra DBMS ishga tushmasa, quyidagilarni kiriting:

sudo systemctl start mariadb

Qo'shimcha tekshirish uchun siz mysqladmin vositasi yordamida ma'lumotlar bazasiga ulanishga urinib ko'rishingiz mumkin (bu sizga ma'muriy buyruqlarni ishga tushirish imkonini beruvchi mijoz). Masalan, ushbu buyruq MariaDB ga root sifatida ulanadi va versiyani Unix soketidan foydalanib chop etadi:

sudo mysqladmin versiyasi
mysqladmin Ver 9.1 Distrib 10.1.26-MariaDB, debian-linux-gnu uchun x86_64
Mualliflik huquqi (c) 2000, 2017, Oracle, MariaDB Corporation Ab va boshqalar.
Server versiyasi 10.1.26-MariaDB-0 + deb9u1
Protokol versiyasi 10
UNIX soketi orqali Localhost-ga ulanish
UNIX rozetkasi /var/run/mysqld/mysqld.sock
Ishlash vaqti: 2 soat 44 min 46 sek
Mavzular: 1 Savollar: 36 Sekin so'rovlar: 0 Ochilishlar: 21 To'liq jadvallar: 1 Ochiq jadvallar: 15 soniyada so'rovlar o'rtacha: 0,003

Agar siz qo'shimcha administrator yaratgan bo'lsangiz, ushbu amalni buyruq bilan bajarishingiz mumkin:

mysqladmin -u admin -p versiyasi

MariaDB kutilganidek ishlamoqda.

Ushbu maqolada Linux, Apache, MariaDB, PHP ni Centos7 / RHEL 7 da qanday o'rnatish va sozlashni ko'rib chiqamiz. Centos7 / RHEL 7 ning yangi versiyasida ko'plab o'zgarishlar mavjud.

LAMP nima?

LAMP Linux operatsion tizimi, Apache veb-serveri, MySQL ma'lumotlar bazasi serveri va PHP (yoki Perl/Python) dasturlash tilidan iborat OTga asoslangan dasturiy ta'minot to'plamidir. LAMP butunlay bepul va ochiq kodli dasturiy ta'minotdan tashkil topgan og'ir, dinamik veb-saytlarni ishga tushirish uchun ishlatiladi. Ushbu maqolada men Linux, Apache, MySQL / MariaDB (MySQL o'rnini bosuvchi), PHP (LAMP) CentOS 7 yoki RHEL 7 da qanday o'rnatilishini tushuntirib beraman.

  • RHEL 7 yoki CentOS 7 serverini o'rnating. Terminalni serverga ssh orqali oching, siz root superuser huquqlariga ega bo'lishingiz kerak.
  • Yum buyruqlarini bilish ham kerak bo'ladi
  • Sizga serveringizning IP manzili kerak bo'ladi, eth0 interfeysi uchun IP manzilni aniqlash uchun quyidagi buyruqdan foydalaning
ifconfig eth0 yoki ip a show eth0 yoki ip addr list eth0 | awk "/ inet / (sub (/ \ / + /," ", $ 2); chop $ 2)" yoki ifconfig eth0 | awk "/ inet / (2 dollarni chop eting)" 10.180.10.10
  • Olingan IP 10.180.10.10 manzili o'rnatishni sinab ko'rish uchun ishlatiladi

Shunday qilib, keling, boshlaylik

Apache-ni CentOS 7 / RHEL 7 serveriga o'rnatish

Veb-serverni o'rnatish uchun buyruqdan foydalaning

Yum httpd o'rnating

Ishga tushganda HTTPd xizmatini yoqing

systemctl enable httpd.service ln -s "/usr/lib/systemd/system/httpd.service" "/etc/systemd/system/multi-user.target.wants/httpd.service"

Avtomatik yuklashni o'chirish uchun

Systemctl httpd.service rm "/etc/systemd/system/multi-user.target.wants/httpd.service" ni o'chirib qo'yadi.

CentOS 7 / RHEL 7 da HTTPd xizmatini ishga tushiring

systemctl httpd.service ni ishga tushiring

Ushbu nuqtada siz veb-brauzeringizni serveringizning IP manziliga yo'naltirishingiz mumkin, http://10.180.10.10. Siz apache boshlang'ich sahifasini ko'rasiz:

CentOS 7 / RHEL 7 da HTTPd xizmatini to'xtatish

systemctl httpd.service to'xtatadi

CentOS 7 / RHEL 7 da HTTPd xizmati qayta ishga tushirilmoqda

CentOS 7 / RHEL 7 da apache xizmati holatini ko'rish

Veb-server ishlayotganligiga ishonch hosil qiling

Systemctl holati httpd.service

Shuningdek, veb-serverni qayta ishga tushirish quyidagi buyruq bilan amalga oshirilishi mumkin

Apachectl oqlangan

Centos 7 / RHEL 7 da konfiguratsiya xatolari uchun apache / httpd tekshirilmoqda

Apachectl configtest

HTTPD serverining standart konfiguratsiyasi:

  1. Standart konfiguratsiya fayli: /etc/httpd/conf/httpd.conf
  2. Yuklangan modullar uchun konfiguratsiya fayllari: /etc/httpd/conf.modules.d/ (masalan, PHP)
  3. MPMlarni yuklanadigan modullar va hodisalar sifatida tanlang: / etc / httpd / conf.modules.d / 00-mpm.conf
  4. Standart portlar: 80 va 443 (SSL)
  5. Standart jurnal fayllari: / var / log / httpd / (access_log, error_log)

MariaDB ni CentOS 7 / RHEL serveriga o'rnatish

MariaDB MySQL Server uchun yangilangan o'rnini egallaydi. RHEL / CentOS 7 MySQL o'rniga MariaDB ma'lumotlar bazasini boshqarish tizimidan foydalanadi. MariaDB serverini o'rnatish uchun quyidagi yum buyrug'ini kiriting:

Mariadb serverini mariadb o'rnating

MariaDB-ni ishga tushirish uchun quyidagi buyruqdan foydalaning:

Systemctl mariadb.service ni ishga tushiradi

MariaDB xizmati yuklash vaqtida avtomatik ravishda ishga tushishiga ishonch hosil qilish uchun quyidagilarni kiriting:

Systemctl mariadb.service xizmatini yoqadi

Buyruqning chiqishi

Ln -s "/usr/lib/systemd/system/mariadb.service" "/etc/systemd/system/multi-user.target.wants/mariadb.service"

MariaDB-ni to'xtatish/qayta ishga tushirish va o'chirish uchun quyidagi buyruqlardan foydalaning:

Sudo systemctl stop mariadb.service # - Mariadb serverini to'xtating sudo systemctl mariadb.service qayta ishga tushiring # - Mariadb serverini ishga tushiring sudo systemctl mariadb.service # - Mariadb serverini avtomatik yuklashni o'chirib qo'ying sudo systemctl is-active mariadb.service # - Server ishlayotganligini tekshiringmi?

MariaDB ni birinchi marta ishga tushirish

Quyidagi buyruqni kiriting:

/ usr / bin / mysql_secure_installation

Savollarga javob berish orqali siz dastlabki ma'lumotlar bazasi xavfsizligini sozlashingiz mumkin bo'ladi

MariaDB o'rnatilishi tekshirilmoqda

Quyidagi buyruqni kiriting

Mysql -u root -p

Chiqish misoli:

CentOS 7 / RHEL 7 da PHP ni o'rnatish

PHP va GD/mysql kabi modullarni o'rnatish uchun quyidagi buyruqni kiriting

Yum o'rnating php php-mysql php-gd php-pear

HTTPD (Apache) serverini qayta ishga tushirishingiz kerak, kiriting:

Systemctl httpd.service ni qayta ishga tushiring

Boshqa barcha PHP modullarini topish uchun:

Yum php qidiruvi

Modul haqida ko'proq ma'lumot olish uchun:

Yum info php-pgsql

Serverda PHP tekshiruvi

Quyidagi kabi /var/www/html/test.php nomli fayl yarating:

Vi /var/www/html/test.php

Quyidagi kodni qo'shing:

LAMP serveri o'rnatildi, agar sizda serverni sozlashda muammolar mavjud bo'lsa, biz LAMP veb-serverini o'rnatish va sozlash bo'yicha bir martalik ish qilamiz.

Menimcha, hamma MariaDB MySQL vilkasi ekanligini biladi. MariaDB MariaDB Corporation Ab va MariaDB Foundation tomonidan ishlab chiqilgan va qo'llab-quvvatlanadi. MariaDB-ning yetakchi ishlab chiqaruvchisi MySQL-ning asl versiyasi muallifi taniqli Maykl Videniusdir.

Ayni paytda joriy versiya 2018-yil 13-fevralda chiqarilgan versiyadir. MariaDB ning yangi versiyasida InnoDB ombori 5.7.21 versiyasini chiqarish uchun yangilandi va 100 dan ortiq xatoliklar tuzatildi, shu jumladan xizmatni masofadan rad etishni boshlash uchun ishlatilishi mumkin bo'lgan xatolar.

Keling, yangi versiyani toza Debian 9.3 (Stretch) tizimiga o'rnatishga harakat qilaylik.

Men MariaDB-ni juda yoqtirishimni yashirmayman va men uzoq vaqtdan beri Oracle MySQL-dan MariaDB yoki MySQL uchun Percona Server foydasiga foydalanishdan voz kechganman va hech narsadan afsuslanmayman. MariaDB ko'plab Linux distributivlarida Oracle MySQL o'rniga ishlatiladi. MariaDB ham ko'p sonli yirik saytlarda ma'lumotlar bazasi sifatida ishlatiladi, aslida mening blogim ham bundan mustasno emas - men MariaDB 10.2 dan ma'lumotlar bazasi sifatida foydalanaman.

Dastlabki ma'lumotlar: Debian OS 9.3 (Stretch);
Vazifa: MariaDB 10.2.13 ni minimal imo-ishoralar bilan o'rnating va asosiy ma'lumotlar bazasi konfiguratsiyasini bajaring;

Internetda MariaDB-ni Debian-ga qanday o'rnatish haqida ko'plab maqolalar mavjud, ammo ularning barchasi juda noqulay echimlarni taklif qiladi.
Bundan tashqari, bor, lekin u ham oddiy echimni o'z ichiga olmaydi, lekin bitta bor!

MariaDB 10.2.13 ni Debian 9 da o'rnatish:

1. Kerakli qo'shimchani o'rnatish. paketlar:

Apt-get update apt-get install dirmngr wget -y

2. Va endi boshqa hech qaerda yozilmagan juda oddiy sehr - omborni o'rnatish uchun skriptni yuklab olish va ishga tushirish:

Wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup && chmod a + x mariadb_repo_setup ./mariadb_repo_setup --mariadb-server-version = 10.2

Ma'lumot uchun:
Ushbu skript tizimingizni tahlil qiladi, GPG kalitlarini o'rnatadi va omborni /etc/apt/sources.list.d/mariadb.list fayliga qo'shadi.
Skript rasmiy va tarqatishlarni qo'llab-quvvatlaydi: RHEL / CentOS 6 & 7, Ubuntu 16.04 LTS (xenial) & 18.04 (bionic), Debian 8 (Jessie) & 9 (streç) va SLES 12 va 15
Skript shuningdek, MariaDB, MaxScale va MariaDB Tools-ning turli versiyalari uchun omborlarni o'rnatishni qo'llab-quvvatlaydi, siz uni yuklab olishingiz va barcha ishga tushirish variantlarini ko'rishingiz mumkin:

./mariadb_repo_setup --help

P.S. Hamma narsani qo'lda qilishni yaxshi ko'radiganlar uchun serveringizning geografik joylashuviga qarab kerakli omborni yanada moslashuvchan tanlashingiz mumkin.

3. Biz paketlar ro'yxatini yangilaymiz:

Apt-get yangilanishi

4. MariaDB 10.2.x ning so‘nggi versiyasini o‘rnating:

Apt-get o'rnating mariadb-server -y

O'rnatish jarayonida o'rnatuvchi bizdan root foydalanuvchisi uchun parolni topishimizni so'raydi, bu bosqichda biz uni bo'sh qoldiramiz va keyinroq o'zgartiramiz.

O'rnatishdan so'ng, MariaDB holatini tekshiring:

# systemctl statusi mariadb ● mariadb.service - MariaDB 10.2.13 ma'lumotlar bazasi serveri Yuklangan: yuklangan (/lib/systemd/system/mariadb.service; yoqilgan; sotuvchi oldindan o'rnatilgan: yoqilgan) Drop-In: / etc / systemd / system / mariadb. service.d └─migrated-from-my.cnf-settings.conf Faol: 2018-02-15 12:14:17 +05 dan beri faol (ishlayapti); 19s oldin Hujjatlar: man: mysqld (8) https://mariadb.com/kb/en/library/systemd/ Asosiy PID: 7270 (mysqld) Holati: "SQL so'rovlarini hozir qabul qilish ..." CGroup: / tizim. tilim / mariadb.service └─7270 / usr / sbin / mysqld # netstat -ltupn | grep mysql tcp 0 0 127.0.0.1:3306 0.0.0.0:* TINGLASH 7270 / mysqld # ps -ef | grep [m] ysql mysql 7270 1 0 12:14? 00:00:00 / usr / sbin / mysqld

Shuningdek, biz mysql buyrug'i yordamida ma'lumotlar bazasiga ulanishga harakat qilamiz (o'rnatish bosqichida biz ildiz parolini bo'sh qoldirganimiz uchun -u root -p parametrlaridan foydalanmaymiz):

# mysql MariaDB monitoriga xush kelibsiz. Buyruqlar bilan tugaydi; yoki \ g. Sizning MariaDB ulanish identifikatoringiz 10 Server versiyasi: 10.2.13-MariaDB-10.2.13 + maria ~ stretch-log mariadb.org ikkilik taqsimoti Mualliflik huquqi (c) 2000, 2018, Oracle, MariaDB Corporation Ab va boshqalar. "yordam" yozing; yoki yordam uchun "\ h". Joriy kiritish bayonotini tozalash uchun "\ c" ni kiriting. MariaDB [(yo'q)]>

Biz MariaDB serveriga muvaffaqiyatli ulandik.

5. Endi xavfsizlikni sozlash ustasini ishga tushiramiz:

Mysql_secure_installation

Savolga:
Ildiz uchun joriy parolni kiriting (hech biri uchun kiriting):
Enter tugmasini bosing, joriy ildiz paroli bo'sh.

Va oxirgi savol:
Imtiyozli jadvallar hozir qayta yuklansinmi?
biz Y ni kiritamiz, ha biz ular kuchga kirishi uchun imtiyozlar jadvalini qayta yuklamoqchimiz.

Shundan so'ng biz MariaDB nusxasini himoya qilish uchun minimal qadamlarni qo'ydik.

Keling, hozir ma'lumotlar bazasiga ulanishga harakat qilaylik:

# mysql ERROR 1045 (28000): "root" @ "localhost" foydalanuvchisiga kirish taqiqlandi (parol yordamida: YO'Q)

Ko'rib turganimizdek, bo'sh ildiz paroli bilan bizga endi ruxsat berilmaydi.

Keling, qo'shimcha imkoniyatlar va parol kiritish bilan bog'lanamiz:

# mysql -u root -p Parolni kiriting: MariaDB monitoriga xush kelibsiz. Buyruqlar bilan tugaydi; yoki \ g. Sizning MariaDB ulanish identifikatoringiz 20 Server versiyasi: 10.2.13-MariaDB-10.2.13 + maria ~ stretch-log mariadb.org ikkilik taqsimoti Mualliflik huquqi (c) 2000, 2018, Oracle, MariaDB Corporation Ab va boshqalar. "yordam" yozing; yoki yordam uchun "\ h". Joriy kiritish bayonotini tozalash uchun "\ c" ni kiriting. MariaDB [(yo'q)]>

Ajoyib, hammasi yaxshi bo'ldi.

Hammasi shu, ko'rishguncha. Agar sizda biron bir savol bo'lsa yoki sizga yordam berishimni xohlasangiz, har doim mumkin.