MySQL-ni buyruq qatori yordamida o'rnatish. Buyruqlar qatori yordamida MySQL boshqaruvining asoslari

Do'stlarim menga ma'muriyat haqida ma'lum savollar berishadi va men o'yladim, nega bir narsani 100 marta tushuntirish o'rniga, saytga shunday maqola va eslatmalarni yozmang? Bundan tashqari, bu, agar kerak bo'lsa, bunday eslatmani o'zingiz ishlatish uchun ajoyib imkoniyatdir, chunki siz o'zingiz bilasizki, ba'zida hamma narsani boshingizda ushlab turish mumkin emas va u yoki bu tarzda ba'zan ma'lumotnomaga murojaat qilishingiz kerak, shuning uchun bu saytning bo'limlaridan biri shunday kitobga aylansin. Bugun biz MySQL DBMS bilan buyruq satridan qanday ishlash haqida gaplashamiz, ha, kimdir aytadi: “Qaysi biri? Axir, phpMyAdmin bor”, deb javob beraman – WebMin, phpMyAdmin va boshqalar kabi har xil ahmoqona narsalarni o‘rnatish uchun qimmatbaho server resurslarini nega behuda sarflash kerak, agar xuddi shu ishni ishonchli, isbotlangan vositalar yordamida osonlikcha bajarish mumkin bo‘lsa. Terminaldan SSH tunneli orqali sozlash - bizning tanlovimiz!

Xo'sh, keling, boshlaylik. Biz serverga SSH orqali, masalan, taniqli PuTTY (Free Telnet/SSH Client) orqali ulanamiz. Endi buyruqlar tavsifiga o'tamiz.

MySQL dasturidan foydalanib MySQL serveriga kiring:

mysql -u root -h localhost -p

-u opsiyasi tizimga kirish uchun foydalanuvchini belgilaydi. -h opsiyasi xostni belgilaydi. Agar siz masofaviy bo'lmagan serverni o'rnatayotgan bo'lsangiz, bu odatda localhost hisoblanadi. Nihoyat, -p MySQL mijoz dasturiga ma'lumotlar bazasiga kirish uchun parol kiritilishini aytadi. Mysql> so'roviga e'tibor bering. Bu erda siz barcha buyruqlaringizni kiritasiz. Endi biz MySQL muhitida ildiz foydalanuvchi sifatidamiz, ma'lumotlar bazasini sozlashni boshlashimiz mumkin.

Biz tizimga kirdik va ekranda MySQL so'rovi paydo bo'ldi. Birinchidan, mavjud ma'lumotlar bazalari ro'yxatini ko'rib chiqaylik. Buning uchun SHOW DATABAASES buyrug'ini kiriting.

Javob, buyruq hech qanday xatosiz bajarilganligini aniq ko'rsatadi. Bunday holda, bitta chiziq o'zgargan. Bu barcha ma'lumotlar bazalari ro'yxatini o'z ichiga olgan asosiy MySQL ma'lumotlar bazasiga tegishli. Ammo mayda-chuydalar haqida ortiqcha tashvishlanishingiz shart emas. Oxirgi raqam so'rovning bajarilish vaqtini bildiradi. Ma'lumotlar bazasi yaratilganligini SHOW DATABASES buyrug'ini qayta ishga tushirish orqali tekshirishimiz mumkin.

Yangi test ma'lumotlar bazasida jadvallar yaratishni boshlash uchun biz uni joriy qilib o'rnatishimiz kerak. Buning uchun USE buyrug'idan foydalaning. Ushbu buyruqning parametri joriy qilinishi kerak bo'lgan ma'lumotlar bazasi nomini belgilaydi. Joriy ma'lumotlar bazasini -D parametridan keyin uning nomini ko'rsatib, buyruq satriga o'rnatishingiz mumkin. Keling, sinov bazasiga o'tamiz.
Ma'lumotlar bazasini almashtirish:

USE testi;

MySQL-dagi imtiyozlar

Jamoa tomonidan imtiyozlar berish Grant.
Imtiyozlar foydalanuvchining ma'lumotlar bazalariga, jadvallarga... deyarli hamma narsaga kirish qobiliyatini belgilaydi. Hozirda ushbu ruxsatnomalarga ko'ra test ma'lumotlar bazasiga faqat MySQL root superfoydalanuvchisi kira oladi. Keling, test ma'lumotlar bazasiga kiradigan va undan ma'lumot bilan ishlaydigan boshqa foydalanuvchi yarataylik, masalan, admin. Ammo boshlashdan oldin, keling, GRANT buyrug'ining biroz soddalashtirilgan formatini ko'rib chiqaylik.

Eslatma: GRANT buyrug'i foydalanuvchi yaratish usuli hisoblanadi. MySQL ning keyingi versiyalarida CREATE_USER funksiyasi ham mavjud, garchi GRANT hali ham afzal.
Endi bizga tayinlanishi mumkin bo'lgan imtiyozlar kerak. Yuqoridagilarning barchasidan foydalanib, siz quyidagi imtiyozlarni o'rnatishingiz mumkin:

Eslatma Eslatma: Agar siz MySQL-dan veb-ilova bilan bog'lanish uchun foydalanayotgan bo'lsangiz, bu erda tushuntirilgan CREATE, SELECT, INSERT imtiyozlari, shuningdek, DELETE va UPDATE imtiyozlari (MySQL qo'llanmasi, GRANT va REVOKE sintaksisi bo'limida tasvirlangan) faqat bittasi. ehtimol talab qilinadi. Ko'p odamlar, albatta, kerak bo'lmaganda, barcha imtiyozlarni berishda xato qilishadi. Bunday ruxsatlar aslida operatsion muammolarga olib kelishini bilish uchun dastur ishlab chiquvchilari bilan tekshiring.

Administrator foydalanuvchi yaratish:

Shunday qilib, foydalanuvchilar yaratiladi; Endi ularni sinab ko'raylik. Birinchidan, so'rovda quit deb yozib, MySQLdan chiqamiz:

Variantlar GRANT buyrug'i bo'limida tushuntirilgan. Endi biz foydalanuvchiga har qanday kirishni rad etamiz. Aytaylik, administrator hisobi xavfsizlik bilan bog'liq muammolarni keltirib chiqarayotganini aniqladik. Biz barcha huquqlarni bekor qilishga qaror qilamiz. Biz root sifatida tizimga kiramiz va kerakli ishlarni qilamiz.
Administrator foydalanuvchi uchun ruxsatlarni bekor qilish:

HAMMANI BEKOR QILING test.* FROM "admin" @"localhost" ;

Eslatma: Bu holda foydalanuvchi kirishi oddiy, shuning uchun bitta ma'lumotlar bazasiga huquqlarni bekor qilish muammo emas. Lekin, odatda, foydalanuvchining boshqa barcha maʼlumotlar bazalariga bir vaqtning oʻzida kirishini bekor qilish uchun test.* oʻrniga *.* dan foydalanishni xohlaysiz.

Endi DELETE buyrug'i yordamida hisobni qanday qilib butunlay o'chirishni ko'rib chiqamiz va MySQL foydalanuvchi jadvalini ko'rib chiqamiz.

Hisoblarni buyruq bilan o'chirish OʻCHIRISH.
MySQL foydalanuvchilar jadvali - bu foydalanuvchilar ro'yxati va ular haqidagi ma'lumotlar. Root sifatida tizimga kirganingizga ishonch hosil qiling. Asosiy MySQL ma'lumotlar bazasidan foydalaning.

Asosiy MySQL ma'lumotlar bazasidan foydalanish:

Foydalanuvchi jadvali sizga kerak bo'lgan narsadir. U 30 xil sohaga ega va o'qish qiyin. O'qishni osonlashtirish uchun biz SELECT buyrug'ining uchinchi shaklidan foydalanamiz. Siz qidirayotgan maydonlar Xost va Foydalanuvchi.
Foydalanuvchilar jadvalida administrator foydalanuvchini topish:

Endi ma'lumotga ega bo'lganimizdan so'ng, biz administrator foydalanuvchidan xalos bo'lishimiz mumkin. Bu DELETE buyrug'i bilan amalga oshiriladi; Mana uning sintaksisi:

DELETE formati SELECT formatiga biroz o'xshashligini sezgan bo'lishingiz mumkin. Foydalanuvchi maydonini va administrator qiymatini belgilaymiz. Bu foydalanuvchi administrator bo'lgan foydalanuvchi jadvalidan yozuvni olib tashlaydi va hisobimizni o'chirib tashlaydi. Keling buni qilamiz:
Administrator foydalanuvchini olib tashlash:

FLUSH PRIVILEGES buyrug'i ruxsatlarni yangilash uchun kerak.

Bugun uchun hammasi shu. Qabul qiling, bu oddiy! ;)

Muallifdan: qizim, mashinangiz ishga tushmaydimi? Ehtimol, biz buni "itaruvchidan" sinab ko'rishimiz mumkinmi? Men yordam beraman! Bu qandayligini bilmayapsizmi? DBMS serverini faqat cmd orqali ishga tushirdingizmi? Bu siz MySQL-ni buyruq qatori orqali qanday ishga tushirishni bilasiz, lekin siz mashinani qanday ishga tushirishni ham bilmaysiz. Mademoiselle, siz "g'alati" sarg'ishsiz!

MySQL tavsifidagi g'alatiliklar

Har bir maqolani tayyorlashda men u yoki bu "sayt qurish" intizomi bo'yicha ma'lumotnoma materiallarini qidirishda Internetni "to'liq" o'rganishim kerak. Ko'pincha Internetda chop etilgan ko'plab batafsil qo'llanmalar va o'quv qo'llanmalar mavjud, ammo MySQL uchun emas.

Albatta, munosib ta'lim bo'lganlar bor, lekin DBMSning asosiy qismida faqat buyruqlarni yozish misollari keltirilgan va hatto sintaksisni ko'rsatmasdan. Bunday vaziyatda, masalan, MySQL-ga buyruq satri orqali qanday ulanishni tushunish har qanday "qo'g'irchoq" uchun deyarli mumkin emas.

Yangi boshlanuvchilar uchun javob topish uchun siz o'nlab tematik forumlarni qidirishingiz kerak bo'ladi, bu erda professional ishlab chiquvchilar (deyarli "akademik" sifatida namoyon bo'ladi) yangi boshlanuvchiga hech bo'lmaganda biror narsani tushuntirishga rozi bo'lishadi.

Haqiqiy ma'mur ma'lumotlar bazasi serverini ishga tushirish va ular bilan ishlashning barcha usullarini bilishi kerakligini tushunish kerak. Dasturiy ta'minot qobig'i eng qulay usul ekanligi aniq, ammo ular har doim ham qo'lda bo'lmasligi mumkin. Shuning uchun, MySQL-ni buyruq qatori orqali qanday yoqishni bilish sayt ma'lumotlarini ham, mutaxassis sifatidagi obro'ingizni ham bir necha marta tejaydi (agar siz veb-ishlab chiqish bilan professional tarzda shug'ullanishni rejalashtirmoqchi bo'lsangiz).

Keling, ushbu mavzuni batafsil ko'rib chiqaylik. Iltimos, agar ushbu materialda aytilgan biror narsa siz uchun mashinani "bog'chadan" ishga tushirish kabi oddiy bo'lib tuyulsa, yuzingizni aylantirmang.

cmd-ni ishga tushiring

MySQL-ni buyruq satridan ishga tushirish uchun avval standart Windows to'plamiga kiritilgan yordamchi dasturni (cmd) faollashtiring. Buni bir necha usulda qilishingiz mumkin:

Win + R klaviatura yorlig'i, so'ngra paydo bo'lgan "Ishga tushirish" dialog oynasida cmd kiriting

Boshlash paneli orqali.

Bundan tashqari, MySQL mahalliy qobiq bilan kelishi mumkin. Misol uchun, agar siz mahalliy mashinada ma'lumotlar bazasi serverini "janoblar" paketiga kiritilmagan mustaqil "ilova" sifatida o'rnatsangiz.

Mahalliy MySQL buyruq qatori oddiy cmd kabi ishga tushiriladi. Ikkala yordamchi dasturning ishlashidagi farqlar keyinroq paydo bo'ladi. Bu haqda keyingi bobda gaplashamiz.

Buyruqlar qatori bilan ishlash

Birinchidan, operatsion tizimga o'rnatilgan yordam dasturi bilan shug'ullanamiz. Keling, Windows buyruq satridan MySQL-ni qanday ishga tushirishni ko'rib chiqaylik. Buning uchun sizga kerak:

Ma'lumotlar bazasi serverini o'rnatgan kompyuter fayl tizimidagi papkaga yo'l.

Foydalanuvchi hisobi - login va parol.

Agar siz Denver bilan ishlayotgan bo'lsangiz, bajariladigan fayl mahalliy serverni ishga tushirgandan so'ng yaratilgan virtual diskda quyidagi yo'lda joylashgan: Z:\usr\local\mysql-5.5\bin

Yuqorida aytganimdek, Denverdagi MySQL buyruq qatori cmd OC orqali ishga tushiriladi. Ya'ni, biz avval uni ishga tushiramiz, so'ngra DBMS bajariladigan faylga yo'lni belgilaymiz. Kirish uchun parol va login MySQL yordam dasturi faollashtirilgandan keyin birinchi yoki keyinroq belgilanishi mumkin. Menga kelsak, hamma narsani birdaniga ro'yxatdan o'tkazish qulayroq: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

Biz ma'lumotlar bazasi serveriga administrator huquqlari bilan kirdik. Menda ildiz paroli o'rnatilmagan, shuning uchun uning qiymati ko'rsatilmagan. MySQL-ni buyruq satridan ishga tushirganimizdan so'ng, yordamchi dastur versiyasi, server va ulanish identifikatori haqida yordam ma'lumotlari quyida paydo bo'ladi.

Endi protseduraning to'g'riligini va huquqlarimizning "kuchliligini" tekshiramiz. Masalan, hozir serverda foydalanilayotgan barcha jadvallar ro'yxatini ko'rsatamiz:

OCHIQ JADVALLARNI KO'RSATISH;

OCHIQ JADVALLARNI KO'RSATISH;

Windows buyruq satrida MySQL bizga faqat tizim ma'lumotlar bazasining bir qismi bo'lgan jadvallarni berdi. Buning sababi shundaki, unda saqlangan barcha ma'lumotlar DBMSning ishlaydigan nusxasida ishlatiladi. Shunday qilib, biz server ishlayotganini va rejalashtirilganidek, administrator huquqlari bilan tizimga kirganimizni bildik.

Ma'lumotlar bazasini boshqarish tizimi bilan birga o'rnatilgan qobiq bilan ishlash sxemasi biroz boshqacha. Bularning barchasini o'zimiz uchun "tajriba qilish" uchun keling, ushbu buyruq qatori orqali MySQL-ni faollashtiramiz.

Uni ishga tushirgandan so'ng darhol parolni kiritishingiz kerak bo'lgan oyna paydo bo'ladi. Aks holda, yordamchi dastur bilan o'zaro ishlashning butun jarayoni bir xil bo'ladi.

Boshqa ilovalar bilan ishlash

DBMS vositalarining standart to'plamining tarkibi bitta server bajariladigan dastur bilan cheklanmaydi. Ularning assortimentini ma'lumotlar bazasi serveri joylashgan papkaga qarash orqali ko'rish mumkin. Masalan, MySQL dump yordam dasturini buyruq satri orqali ishga tushiramiz.

Birinchidan, virtual diskka o'ting, so'ngra yordam dasturi saqlanadigan papkaga cd buyrug'idan foydalaning. Eslatib o'taman, u ma'lumotlar bazalarining zaxira nusxalarini yaratish uchun mo'ljallangan.

Keyingi bosqichda, MySQL-ga buyruq qatori orqali kirishdan oldin, biz unga hisob qaydnomasi va parolni ko'rsatishimiz kerak. Mysqldump buyrug'idan foydalanishga misol:

mysqldump -uroot world>C:\Users\home\Desktop\dump\copy.sql

Buyruqning to'g'ri ishlashi uchun bajarilish vaqtida ko'rsatilgan katalog yaratilishi kerak. Aks holda, yordamchi dastur bunday yo'l mavjud emasligi haqida xabar beradi.

Shuni ham ta'kidlash kerakki, buyruq satrida ko'rsatilgan MySQL foydalanuvchisi ma'lumotlar bazasini yoki administrator hisobini o'zgartirish huquqiga ega bo'lishi kerak.

Standart to'plamga kiritilgan boshqa yordamchi dasturlar ham xuddi shunday tarzda ishga tushiriladi. Ularning yordami bilan siz barcha asosiy DBMS boshqaruv operatsiyalarini bajarishingiz mumkin: rollarni boshqarish, zaxira nusxalarini yaratish, omborlar tarkibini tahrirlash. Shuningdek, MySQL xizmatini buyruq satridan o'rnating. Umuman olganda, ma'lumotlar bazasi serveri "itaruvchidan" boshlanmaydigan hamma narsa.

Keling, hamma narsa allaqachon o'rnatilgan deb faraz qilaylik va endi biz ishga kirishamiz.
Ulanamiz:
ceval@srv:~$ mysql -pPASSWORD
-p, --parol=— MySQL serveriga ulanish uchun foydalanuvchi paroli. -p va parol o'rtasida bo'sh joy bo'lmasligi kerak.
-u, --user=- MySQL serveriga ulanish uchun foydalanuvchi nomi. Ixtiyoriy, standart login bilan bir xil bo'ladi, agar login MySQL serveriga ulanish uchun foydalanuvchi nomidan boshqacha bo'lsa ishlatiladi.
$ mysql -u ceval_ -pPASSWORD
Agar parolimizni to'g'ri kiritgan bo'lsak, biz quyidagi satrlarni va takliflarni ko'ramiz:

MySQL monitoriga xush kelibsiz. Buyruqlar bilan tugaydi; yoki\g.
Server versiyasi: 5.0.45-Debian
Yordam uchun “help;” yoki “\h” ni kiriting. Buferni tozalash uchun "\c" ni kiriting.
mysql>

Biz kerakli ma'lumotlar bazasini yaratamiz, cp1251 kodlash bilan ko'rsatilgan kodlash kerakli kod bilan almashtirilishi mumkin:
MA'LUMOTLAR BAZASINI YARATISH db_name SUNUM CHARAKTERLAR TOPLAMI cp1251 DEFAULT COLLATE cp1251_general_ci;
Ma'lumotlar bazasini o'chirish:
DROP MA'LUMOTLAR BAZASI db_name;
Baza o'zgarishi
"ma'lumotlar bazasi" dan foydalanish;
Ma'lumotlar bazasidan jadvalni olib tashlash
DROP TABLE `db_table`;
Yana ozgina:
->\g ma'lumotlar bazalarini ko'rsatish; // qanday ma'lumotlar bazalari mavjudligiga qarang
->\g ma'lumotlar bazasi sun'iy yo'ldoshini yaratish; // yangi ma'lumotlar bazasini yaratish
->\g ma'lumotlar bazalarini ko'rsatish; // yaratilganligini tekshiring
->\q // Chiqish

MySQL ning turli versiyalarida turli xil buyruqlar (4 va 5) bo'lishi mumkin, bu holda \g - serverga SQL skriptini bajarish uchun buyruq beradi.
MySQL ubuntu bilan ishlaydigan MySQL ma'lumotlar bazasini yuklash, saqlash (zaxiralash, tiklash)
Ma'lumotlar bazasini saqlangan ma'lumotlar bilan yuklang (ma'lumotlar saqlangan bo'lsa). Ular, masalan, baza.sql faylida saqlanadi
mysql
->\g ma'lumotlar bazalarini ko'rsatish;
->\u baza;
->\. /home/backup/baza.sql
->\q
/home/backup/baza.sql — zaxira faylga yo'l
[b]Ma'lumotlar bazasini baza.sql faylida ma'lumotlar bilan saqlang
mysqldump baza > /home/backup/baza.sql;
Ma'lumotlar bazasi saqlanadi: /var/lib/mysql/baza- Barcha ma'lumotlar bazasini o'chirish uchun ushbu katalogni o'chirish kifoya.
Turli yo'llar bilan amalga oshirilishi mumkin:
— ssh orqali ulanish va buyruq satri orqali ishlash;
- phpmyadmin-dan foydalaning;
- mysql-admin paketidan foydalaning - bu MySQL boshqaruvining grafik yordam dasturi (intuitiv MySQL boshqaruvi uchun GUI vositasi)
MySQL)
Endi paketni o'rnatamiz mysql-admin har bir mashina uchun
sudo aptitude MySQL-adminni o'rnating
Keyin biz masofaviy mashinaga o'tamiz va [b]my.cnf konfiguratsiyasini tahrirlaymiz
$ sudo nano /etc/mysql/my.cnf
Boshlash uchun quyidagilarni tekshirishingiz mumkin:
$ netstat -an | grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* TINGLASH
Natijadan ko'rinib turibdiki, MySQL hozirda localhoste-da tinglanmoqda, ammo MySQL nafaqat localhost-da, balki barcha interfeyslarni tinglash uchun kerak, shuning uchun biz quyidagi yozuvni topamiz va tahrirlaymiz:

[...]
# Tarmoqni o'tkazib yuborish o'rniga, endi faqat tinglash uchun sukut bo'yicha
# localhost ko'proq mos keladi va xavfsizroq emas.
bog'lanish manzili = 127.0.0.1
#
[...]

va MySQL barcha interfeyslarni tinglashi uchun keling, ushbu qatorni sharhlaylik:
[...]

#bind-manzil = 127.0.0.1:

[...]
Keling, MySQL-ni to'xtatamiz:
$ sudo /etc/init.d/mysql-ni qayta ishga tushiring
Va yana buyruq chiqishini ko'rib chiqaylik:
$ netstat -an | grep 3306
Chiqish quyidagicha ko'rinishi kerak:

tcp 0 0 0.0.0.0:3306 0.0.0.0:* TINGLASH

va endi siz MySQL bilan masofadan ishlash uchun mysql-admin-ni ishga tushirishingiz mumkin - Alt+F2 - mysql-admin
yoki
$mysql-admin
mysql ubuntu bilan ishlash

Win 32 uchun tarqatishni tanlang: Windows (x86, 32-bit), Zip-arxiv.

Win 64 uchun: Windows (x86, 64-bit), Zip-arxiv.

Yuklab olish tugmasini bosgandan so'ng siz ro'yxatdan o'tish shaklini ko'rasiz, uni quyidagi havolani bosish orqali o'tkazib yuborishingiz mumkin - Yo'q, rahmat, meni faqat yuklab olishlarga olib boring.

2. O'rnatish papkasini yarating. Masalan . Va arxiv tarkibini unga papkalarni oching bin, ma'lumotlar, hujjatlar va boshqalar o'rnatish papkasining ildizida edi.

3. Keling, konfiguratsiya faylini (my.ini) yaratishga o'tamiz. Biz standart fayllardan birini asos qilib olamiz:

  • my-small.ini - vaqti-vaqti bilan MySQL-dan foydalanadigan va server juda ko'p resurslarni egallashini istamaydiganlar uchun javob beradi.
  • my-medium.ini ham kam resursli konfiguratsiyadir, lekin MySQL-ni muntazam ravishda ishlatadiganlar uchun mos keladi (uy veb-server uchun yaxshi tanlov).
  • my-large.ini va my-huge.ini – ajratilgan MySQL serveri sifatida foydalaniladigan tizimlar uchun. Biroq, agar sizga qo'shimcha MySQL ishlashi kerak bo'lsa, my-large.ini uy serveri uchun ishlatilishi mumkin (bu kunlarda 512 MB RAM unchalik ko'p emas).
  • my-innodb-heavy-4G - kamida 4 GB operativ xotiraga ega va faqat InnoDB jadvallaridan foydalanadigan maxsus serverlar uchun.

Ushbu misolda men my-medium.ini ni asos qilib tanladim. Uni my.ini nomiga o'zgartiring va o'rnatish papkasining ildiziga joylashtiring ( C:\Program Files\MySQL\MySQL Server 5.5).

Tahrirlash uchun oching (oddiy bloknotda) va satrdan keyin darhol ikkita parametr qo'shing:

Basedir=C:/Dastur fayllari/MySQL/MySQL Server 5.5 datadir=C:/Dastur fayllari/MySQL/MySQL Server 5.5/maʼlumotlar

E'tibor bering, yo'llar teskari chiziq (\) o'rniga oldinga qiyshiq chiziqdan (/) foydalanadi.

basedir - o'rnatish papkasiga yo'l.

datadir - ma'lumotlar papkasiga yo'l (barcha ma'lumotlar bazalari saqlanadi). Ba'zan ish faoliyatini yaxshilash yoki ishonchliligini ta'minlash uchun ma'lumotlarni alohida diskka qo'yish mantiqan to'g'ri keladi.

Har holda, bu erda o'zgarishlar kiritilgandan so'ng konfiguratsiya faylining bir qismi:

# MySQL serveri basedir=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/maʼlumotlar porti = 3306 soket = /tmp/mysql.sock skip-external-locking key_buff = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K InnoDB_sort_buffer = 8M_

4. Keyingi qadam yo'lni qo'shishdir C:\Program Files\MySQL\MySQL Server 5.5\bin MySQL-ni buyruq satridan ishga tushirishni osonlashtirish uchun PATH muhit o'zgaruvchisiga. Buning uchun "Tizim xususiyatlari" -> Qo'shimcha tizim sozlamalari -> "Kengaytirilgan" yorlig'ida, eng pastki qismida "Atrof-muhit o'zgaruvchilari ..." tugmasini oching. Ochilgan oynada Path-ni topgunimizcha tizim o'zgaruvchilari bo'ylab aylantiring. Ushbu qatorni tanlang va "O'zgartirish ..." tugmasini bosing. Qator oxirida biz mavjud parametrlarni saqlab, yo'limizni qo'shamiz:

Yo'llar nuqta-vergul bilan ajratilganligiga e'tibor bering. Yo'lingizning boshida va oxirida nuqta-vergul borligiga ishonch hosil qiling.

5. Sinov ishga tushirishdan oldin Windows xavfsizlik devorida kiruvchi TCP 3306 portini oching:


Agar tizimingizda qo'shimcha xavfsizlik devori o'rnatilgan bo'lsa, kiruvchi ulanishlar uchun TCP 3306 portini ham ochishingiz kerak.

6. Endi biz test sinovini o'tkazamiz. Administrator sifatida ishga tushirilgan buyruq satrida (bu Seven yoki Vista-da UAC yoqilgan bo'lsa kerak), ishga tushiring:

mysqld --konsol

Ekranda bir nechta qatorlar ko'rsatiladi. Agar ishga tushirish muvaffaqiyatli bo'lsa, oxirgi qator quyidagicha ko'rinadi:

Versiya: "5.5.9-log" soket: "" port: 3306 MySQL Community Server (GPL)

Ushbu oynani ochiq qoldiring va boshqa buyruq qatori oynasini oching, unga biz kiritamiz:

Mysql -u ildizi

Agar ulanish muvaffaqiyatli bo'lsa, siz buyruq satrini ko'rasiz: mysql>

Keling, qanday ma'lumotlar bazalari mavjudligini ko'rib chiqaylik:

Ma'lumotlar bazalarini ko'rsatish;

SQL so'rovi oxiridagi nuqta-vergul MAJburiy!

Jamoa javobi:


Endi biz nihoyat server ishlayotganiga amin bo'ldik.

7. Keyingi bosqichga o'tamiz - siz MySQL administrator parolini (root user) o'rnatishingiz kerak. Sukut bo'yicha parol o'rnatilmagan va buni tuzatish kerak. Xuddi shu MySQL oynasida quyidagi buyruqlarni kiriting:

mysql UPDATE foydalanuvchi SET parolidan foydalaning = PASSWORD("your_password") WHERE user = "root";

Natijani tekshiramiz:

Foydalanuvchini, xostni, parolni foydalanuvchidan TANLASH;

Skrinshotda ko'rib turganingizdek, parol ustuni to'ldirilgan, ya'ni parol o'rnatilgan.

Chiqishdan oldin buyruqni bajaring:

FLUSH PRIVILEGLARI;

Endi ulanishda siz parolni kiritishingiz kerak. Buning uchun -p tugmasidan foydalaning:

Mysql -u root -p

MySQL ishga tushirishni o'chirish uchun:

Mysqladmin -u root -p o'chirish

8. Oxirgi qadam MySQL-ni Windows tizimi xizmati sifatida ishga tushirishdir.

Tizimda faol MySQL jarayonlari yo'qligiga ishonch hosil qiling.

Administrator sifatida ishlaydigan buyruq satrida quyidagilarni bajaring:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" - o'rnatish

MySQLD yo'li to'liq ko'rsatilishi kerak (hatto PATH ro'yxatida bo'lsa ham)!

Xizmatni ishga tushirish uchun "Kompyuter boshqaruvi" ni oching va MySQL xizmatini qo'lda ishga tushiring:


Yoki buyruq qatori orqali osonroq:

Net start mysql

Xizmatni o'chirish uchun avval uni to'xtating:

Net stop mysql

va bajaring:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" - olib tashlash

Xayrli kun, hamkasblar :)

Ha, aynan hamkasblar, chunki oddiy odam uchun MySQL buyruq satri (yoki MySQL Shell, ishlab chiquvchilar uni ham chaqirishni yaxshi ko'radi), shuningdek, konsolda MySQL bilan ishlash foydali bo'lishi dargumon.

Ushbu mavzu qiziqarli bo'lishi uchun siz hech bo'lmaganda phpMyAdmin va boshqa interfeyslarni printsipial jihatdan ishlatmaydigan yangi boshlanuvchi tizim ma'muri bo'lishingiz kerak.

Shaxsan men o'zim MySQL bilan ishlash uchun phpMyAdmin-dan foydalanishni afzal ko'raman, chunki... Men tabiatan vizual odamman. Biroq, ba'zida amalda MySQL buyruq qatorini bilish va server konsolida MySQL bilan ishlash qobiliyati zarur bo'lgan holatlar mavjud.

Hozir menda ulardan uchtasi bor:

  1. MySQL konsolida birinchi marta katta ma'lumotlar bazasini import qilishim kerak bo'lganda duch keldim. U to'liq phpMyAdmin orqali yuklanmagan, chunki... operatsiyani bajarish vaqti va yuklab olingan fayllar hajmi sozlamalarini o'zgartirganiga qaramay, vaqt tugashi sababli o'rtada bir joyga tushib ketdi. Aslida, kerakli qiymatlarni tanlash mumkin edi, lekin menga bu juda uzoq jarayon bo'lib tuyuldi.
  2. Keyingi safar MySQL bilan buyruq satri orqali ishlashga to'g'ri keldi, men kalitlar yordamida boshqalar bilan bog'langan jadvaldan ma'lumotlarni o'chirishim kerak bo'lganda, xorijiy kalitlarni tekshirishni o'chirib qo'yishim kerak edi. Men buni phpMyAdmin-da qanday qilishni topa olmadim.
  3. Jiddiy kompaniyalar MySQL bilan hech qanday phpMyAdminssiz ishlash uchun faqat konsoldan foydalanadilar. Nima uchunligini aniq bilmayman, lekin bilimdon odamlar bu xavfsizlik bilan bog'liqligini aytishdi. Natijada, hamma MySQL buyruq satri bilan ishlashga majbur bo'ldi, shu jumladan men :)

Ammo, yana MySQL bilan konsolda va buyruq satrida ishlash kundalik foydalanish uchun juda mos keladi. Ma'lumotlar bazalari bilan ishlash uchun barcha taniqli vizual dasturlar hali ham MySQL konsol buyruqlari asosida ishlaydi. Shuning uchun, xohlaganingizcha :)

Konsolni turli xil operatsion tizimlarda ishga tushirish

Men server konsolida MySQL buyruq qatori bilan ishlashni namoyish etaman, shuning uchun avval uni boshlash yaxshi bo'lardi.

Harakat oddiy, ko'pchilikka tanish, buning uchun "issiq tugmalar" ni bilish kifoya.

Windows-da konsolni ishga tushirish:

  • Administrator huquqlari bilan Windows buyruq satrini ochish uchun Win+R;
  • Buyruqni kiriting cmd
  • bosing Kirish klaviaturada

Linux distributivlarida konsolni ishga tushirish (terminal): Men ishlagan Ubuntuda tizim tugmalari birikmasi yetarli Ctrl+Alt+T. Boshqa Linux operatsion tizimlari haqida hech narsa deya olmayman.

MacOS-da konsolni ishga tushirish: Men buni o'zim qilmaganman, chunki ... Men hali Mac olmaganman va uni olishim dargumon, chunki menga kerak emas, lekin bilganimdek, ushbu operatsion tizimda terminalga qo'ng'iroq qilish uchun "issiq tugmalar" yo'q. Shunday qilib, agar siz Apple mahsulotlarining foydalanuvchisi bo'lsangiz, konsolni OS interfeysi orqali ishga tushiring, xayriyatki, Internetda ko'plab qo'llanmalar mavjud.

Katta tajribaga ega bo'lgan ba'zi professional tizim ma'muri tasodifan ushbu maqolaga qoqilib qolsa, bunday ma'lumotni nashr qilish biroz uyatli, chunki u shunday deb o'ylaydi: "Muallif o'z o'quvchilarini dasturchi deb biladi, lekin shu bilan birga u konsolni qanday ishga tushirishni o'rgatadi ... Qandaydir psixo :-)."

Ha, juda mantiqiy :) Lekin men faqatgina professional ishlab chiquvchilar bilan bir qatorda yangi boshlanuvchilar ham bu erga kelishi mumkin bo'lgan vaziyatni hisobga olaman. Shuning uchun men yuqorida aytib o'tganimdek, ma'lumotlarni to'liq va barcha toifadagi foydalanuvchilar uchun ochiq qilishga harakat qilaman.

MySQL konsolining asosiy buyruqlari

Shunday qilib, birinchi navbatda, konsoldagi MySQL buyruq qatoriga kirishimiz kerak. Buning uchun server konsolini oching va agar sizda MySQL global miqyosda xizmat sifatida o'rnatilgan bo'lsa, "ulanishni tekshirish" uchun biz quyidagilarni yozamiz:

Mysql -V

Konsol buyrug'i mysql bizga MySQL buyruq qatori bo'lgan bir xil nomdagi yordamchi dasturni ishga tushirishga imkon beradi.

Bu bizga kompyuterda o'rnatilgan MySQL versiyasini aniqlash va uning umuman xizmat sifatida o'rnatilganligiga ishonch hosil qilish imkonini beradi. Agar shunday bo'lsa, konsolda quyidagi matnga o'xshash narsani ko'rasiz: .

Ha, men "aqldan ozgan kodlovchi" emasman, chunki men Windows-dan foydalanaman :) Lekin gap bu emas. Unix tizimlarida protsedura bir xil bo'ladi.

Agar to'satdan MySQL kompyuteringizda global miqyosda o'rnatilmagan bo'lsa yoki siz MySQL-ning bir nechta versiyalari bilan ishlashingiz kerak bo'lsa, unda faqat MySQL fayllari va kutubxonalari bo'lgan kataloglar mavjud bo'lsa, MySQL-ni konsol orqali ishga tushirish shunday ko'rinadi.

Konsolda MySQL bajariladigan fayl joylashgan katalogga quyidagi buyruq bilan o'ting (Windows da, hech bo'lmaganda bu mysql.exe):

CD C:\OpenServer\modullar\ma'lumotlar bazasi\MySQL-5.7-x64\bin

Tabiiyki, tarqatish yo'lingiz boshqacha bo'lishi mumkin. Misol tariqasida, men OpenServerga kiritilgan MySQL versiyalaridan birini ishga tushirishga qaror qildim.

Va biz MySQL-ni ishga tushiramiz, uning versiyasini yo'lda tekshiramiz:

Mysql.exe -V

Natijada, konsolda birinchi holatga o'xshash xabar ko'rsatilishi kerak edi mysql Ver 14.14 Distrib 5.7.16, Win64 (x86_64) uchun.

Hammasi shu, biz MySQL-ni buyruq satridan server konsoli orqali ishga tushirishni saralab oldik, endi to'g'ridan-to'g'ri MySQL serveriga ulanamiz.

Konsolda MySQL serveriga ulanish

MySQL serveri siz konsolda unga kirishga urinayotgan kompyuterda bo'lishi shart emas. Shuning uchun, konsol orqali masofaviy MySQL serveriga ulanish imkoniyatini yaratish uchun MySQL yordam dasturida kerakli sozlamalarni belgilashingiz mumkin bo'lgan ko'plab parametrlar mavjud.

Konsolda MySQL buyruq qatorini ishga tushirish uchun biz server konsolida quyidagilarni yozishimiz kifoya:

Biroq, bu holda siz quyidagi xatoni olasiz: XATO 1045 (28000): “ODBC’@’localhost” foydalanuvchisiga kirish taqiqlandi (parol yordamida: YO‘Q). Xato xabari mening Windows tizimimda shunday ko'rinadi. Agar siz Linux-dan foydalansangiz, u holda ODBC o'rniga tizimda amallarni bajaradigan tizim foydalanuvchingiz nomi bo'ladi.

Bularning barchasi, chunki sukut bo'yicha, MySQL serveriga ulanishda konsol Windowsda ODBC foydalanuvchisini parolsiz va Linuxda tizim foydalanuvchisini bir xil parol bilan ishlatadi. Standart xost - localhost, ya'ni. Bu foydalanuvchi faqat mahalliy qurilmadan ulanishi mumkin.

Shunday qilib, sizda ikkita variant bor: MySQL buyruq qatoriga kirish uchun boshqa foydalanuvchidan foydalaning yoki kerakli hisob qaydnomasi bilan MySQL foydalanuvchisini yarating. Ammo ikkinchi usul uchun biz hali ham birinchisiz qilolmaymiz :) Shuning uchun, avval MySQL serveriga standart foydalanuvchi ostida ulanamiz. ildiz, bu MySQL-ni kompyuterga o'rnatishda yaratilgan va sukut bo'yicha localhost-dan kirishga ruxsat berilgan:

Mysql -u root -p

Parolni kiritish so'ralganda Enter tugmasini bosing (agar siz uni kiritmagan bo'lsangiz, albatta, MySQL-ni o'rnatishda). Keyin MySQL serveriga ulanadi, ulanish identifikatori tayinlanadi va MySQL buyruq qatoriga kirish huquqi beriladi.

Agar siz ma'lum xost nomi yoki IP-ga ega bo'lgan MySQL serveriga ulamoqchi bo'lsangiz yoki boshqa foydalanuvchi sifatida tizimga kirmoqchi bo'lsangiz, quyidagi buyruq formatidan foydalaning:

MySQL -u user_name -p user_password -h MySQL_server_host_or_IP

Pastki chiziqli kirill harflari o'rniga, albatta, ma'lumotlaringizni lotin harflarida kiritishingiz kerak. Aytgancha, agar xohlasangiz, ushbu buyruqni biroz boshqacha formatda yozishingiz mumkin:

MySQL --user=user_name --password=user_password --host=host_or_IP_of_MySQL_server

Agar biron sababga ko'ra siz MySQL ulanish parolingiz konsolda paydo bo'lishini xohlamasangiz (bu to'g'ri, aslida), quyidagi buyruqdan foydalanishingiz mumkin:

MySQL -u user_name -h MySQL_server_host_or_IP -p

Parol aniq ko'rsatilmaganligi sababli, keyingi bosqichda uni kiritish so'raladi. Bundan tashqari, siz kiritgan belgilar hatto yulduzcha (joker belgilar) ko'rinishida ham ko'rsatilmaydi, buning o'rniga faqat bo'sh qator bo'ladi.

Belgilangan ulanish sozlamalariga qo'shimcha ravishda quyidagi parametrlardan foydalanish mumkin, ularning qiymatlari yuqorida sanab o'tilganlarga o'xshash tarzda belgilanadi:

  1. --port yoki -P - MySQL serveriga ulanish uchun portni belgilash;
  2. —protokol — ulanish amalga oshiriladigan protokol (mumkin variantlar: Windows va Linux uchun TCP, Linux uchun SOCKET, Windows uchun PIPE va MEMORY);
  3. --socket yoki -S - agar siz rozetkalar orqali ulanishni istasangiz, bu parametr foydalidir, shuning uchun parametrning qiymati rozetka bo'ladi;
  4. --pipe yoki -W - parametr ulanishlar uchun nomlangan "quvurlar" yoki "quvurlar" dan foydalanmoqchi bo'lsangiz kerak;
  5. --shared-memory-base-name - bu parametr Windows-da umumiy xotira orqali MEMORY ulanishlari uchun foydali bo'ladi;

MySQL serveriga ulanish uchun barcha parametrlar ro'yxati bu bilan cheklanmagani aniq. Aslida, ularning ko'plari bor.

Agar biron sababga ko'ra xost, foydalanuvchi va parolni ko'rsatadigan standart variant sizga mos kelmasa, ulanish parametrlarining to'liq ro'yxatini bilish uchun quyidagi ma'lumotlar sizga foydali bo'ladi - https://dev.mysql.com/doc/ refman/5.7/en/ connecting.html

MySQL konsolida ma'lumotlar bazasini qanday yaratish kerak

MySQL serveriga ulanib, MySQL buyruq qatorini ishga tushirganimizdan so'ng, saytimiz ma'lumotlar bazasini yaratishdan boshlanadigan hayot aylanishini boshlash vaqti keldi. Buyruqlar qatori orqali MySQL ma'lumotlar bazasini yaratish uchun siz quyidagi buyruqni kiritishingiz kerak:

MA'LUMOTLAR BAZASINI YARATING ma'lumotlar bazasi_nomi;

Xuddi shu harakat maxsus MySQL yordam dasturi yordamida amalga oshirilishi mumkin mysqladmin. U MySQL buyruq satridan ajratilgan holda ishlaydi, ya'ni. Uni ishlatish uchun siz undan chiqishingiz yoki yangi server konsolini ochishingiz kerak bo'ladi.

Va keyin quyidagi buyruqni chaqiring:

mysqladmin ma'lumotlar bazasi_nomini yaratish;

Aytgancha, mysqladmin yordam dasturidan foydalanib, siz MySQL konsoliga kirmasdan nafaqat ma'lumotlar bazalarini yaratishingiz va o'chirishingiz, balki server konfiguratsiyasini, MySQL jarayonlarini boshqarishingiz, replikatsiyalarni boshqarishingiz, ping serverlarini boshqarishingiz va boshqa qiziqarli narsalarni qilishingiz mumkin.

Buyruqlar satrida MySQL foydalanuvchisini qanday yaratish mumkin

Tez-tez emas, lekin ba'zida siz yangi MySQL foydalanuvchisini yaratishingiz kerak bo'ladi. Bundan tashqari, konsol rejimida.

MySQL buyruq satrida bu quyidagicha amalga oshiriladi:

FOYDALANUVCHI "user_name"@"host_or_machine_IP" YARATING "user_password" ORQALI;

Foydalanuvchi yaratildi. Parametr xost_yoki_IP_mashina foydalanuvchi yaratishda siz u serverga ulanishi mumkin bo'lgan IP-ni yoki xost nomini (tarmoqdagi ishlaydigan mashinaning domen nomi mos) ko'rsatishingiz kerakligini anglatadi.

Aytgancha, MySQL serveriga ulanish uchun xostni belgilashda siz foiz belgisidan foydalanishingiz mumkin - % , ya'ni yaratilgan foydalanuvchi MySQL serveriga istalgan IP manzil yoki xostdan ulanishi mumkin.

Shuni hisobga olish kerakki, bu holda localhost % yordamida ko'rsatilgan manzillar ro'yxatiga kiritilmaydi, chunki localhost standart TCP/IP o'rniga UNIX rozetkasi orqali ulanishni bildiradi. Bular. Agar yaratilgan MySQL foydalanuvchisi serverga rozetkalardan foydalanmasdan, balki konsoldagi MySQL serveriga ulanishda ko'rsatilgan boshqa protokoldan foydalangan holda ulansa, u ikkita foydalanuvchi hisobini yaratishi kerak bo'ladi:

FOYDALANUVCHI "foydalanuvchi nomi"@"%" YARATING "parol" BO'LGAN; FOYDALANUVCHI "foydalanuvchi nomi"@"localhost" YARATING "parol" BO'LGAN;

Biz konsolda MySQL foydalanuvchisini qanday yaratishni aniqladik. Keling, quyidagi buyruq bilan yangi yaratilgan ma'lumotlar bazasi bilan har qanday harakatlarni bajarish uchun foydalanuvchi huquqlarini o'rnatamiz:

ma'lumotlar bazasi_nomi bo'yicha BARCHA PRIVILEGLARNI BERING.* "user_name"@"host_or_machine_IP" GA;

Variant HAMMA, siz tushunganingizdek, foydalanuvchiga ma'lum bir ma'lumotlar bazasi bilan har qanday harakatlarga ruxsat berilganligini bildiradi. Buyruq yordamida foydalanuvchilarga berilishi mumkin bo'lgan huquqlarning to'liq ro'yxati Grant, bu yerda topishingiz mumkin (parametrlarning tavsifi ingliz tilida bo'lsa ham) - https://dev.mysql.com/doc/refman/5.7/en/grant.html#grant-privileges

Aytgancha, siz vergul bilan ajratilgan buyruqni chaqirishda ularni ko'rsatib, bir nechta imtiyoz parametrlaridan foydalanishingiz mumkin.

Agar siz superuser yaratmoqchi bo'lsangiz, ya'ni. serverdagi barcha ma'lumotlar bazalari bilan turli amallarni bajarish uchun global imtiyozlarga ega, keyin quyidagi buyruq chaqiruvidan foydalaning:

HAMMASIGA BERING *.* "user_name"@"host_or_machine_IP";

Aytgancha, imtiyozlarni o'rnatgandan so'ng MySQL server keshini tozalash yaxshi bo'lardi. Agar siz ularni o'zgartirsangiz, quyidagi buyruqni chaqirish orqali buni qilishni unutmang:

FLUSH PRIVILEGLARI;

Agar siz foydalanuvchi huquqlarini o'zgartirmoqchi bo'lsangiz, avval barcha huquqlarni tiklash uchun quyidagi buyruqdan foydalaning:

"user_name"@"host_or_machine_IP" dan *.* BARCHA PRIVILEGLARINI O'CHIRISH;

Va keyin u foydalanishi kerak bo'lganlarni o'rnating Grant, avval aytib o'tilganidek.

Agar kelajakda siz MySQL foydalanuvchi parolini o'zgartirishingiz kerak bo'lsa, buning uchun MySQL Shell-da quyidagi buyruqlarni bajaring:

"user_name"@"host_or_machine_IP" = PASSWORD("yangi_parol"); FLUSH PRIVILEGLARI;

MySQL server imtiyoz keshini tiklash huquqlarni o'zgartirish bilan bir xil maqsadda kerak - bu harakatsiz MySQL foydalanuvchi parolini o'zgartirish hisobga olinmasligi mumkin, shuning uchun uni ishlatishga dangasa bo'lmang :)

Aytgancha, Internet foydalanuvchining MySQL parolini tiklash uchun quyidagi buyruqdan foydalanish misollariga to'la:

YANGILANISh mysql.user SET Password=PASSWORD("password") WHERE User="username";

Lekin bu variant men uchun MySQL 5.7 da ishlamadi, xatolik yuz berdi XATO 1054 (42S22): "maydonlar ro'yxati"dagi noma'lum "Parol" ustuni. Buning sababi mysql.user jadvalida Parol maydonining yo'qligi bo'lib chiqdi.

Shundan kelib chiqib, ushbu parametr faqat MySQL ning eski versiyalari uchun ishlaydi, deb taxmin qilishimiz mumkin, bu maydon foydalanuvchi jadvalida mavjud edi. Shuning uchun, ishonch hosil qilish uchun, mening birinchi variantimdan foydalaning, agar siz versiyalarni yangilash imkoniyatisiz antidiluvian dasturiy ta'minot bilan ishlashga majbur bo'lmasangiz :)

Bu yangi MySQL foydalanuvchisini yaratish va uning huquqlari va parollari bilan harakatlarni ko'rib chiqishni yakunlaydi. Keling, davom etaylik.

MySQL bilan buyruq satri orqali ishlashda ma'lumotlar bazasini tanlash

Endi MySQL Shell-da foydalanuvchi yaratgandan va unga ma'lumotlar bazasi bilan ishlash huquqini bergandan so'ng, biz ma'lumotlar bazasining o'zi va unda saqlangan ma'lumotlar bilan ishlashimiz uchun aynan shu ma'lumotlar bazasini tanlashimiz kerak.

Buning uchun MySQL konsolida quyidagi buyruqdan foydalaning:

maʼlumotlar bazasi_nomidan foydalanish;

Agar hamma narsa yaxshi bo'lsa, konsolda xabar ko'rsatiladi Ma'lumotlar bazasi o'zgartirildi, bu konsol orqali MySQL ma'lumotlar bazasiga kirganimizni bildiradi. Aytgancha, MySQL serveriga ulanishda siz dastlab ishlashingiz kerak bo'lgan ma'lumotlar bazasini belgilashingiz mumkin. Buning uchun server konsolida quyidagi buyruqni kiritishingiz kerak:

Mysql --user=user_name --password=user_password --host=MySQL_server_host_or_IP --ma'lumotlar bazasi=ma'lumotlar bazasi_nomi

Yoki xuddi shu narsa, faqat MySQL foydalanuvchi parolini so'rash:

mysql -u user_name -h host_or_IP_MySQL_server_ma'lumotlar bazasi_name -p

Ana xolos. Endi konsol orqali MySQL ma'lumotlar bazasiga ulanishda hech qanday qiyinchiliklarga duch kelmaysiz deb o'ylayman :)

MySQL konsoli orqali MySQL jadvallari bilan ishlash

Shunday qilib, biz konsol orqali MySQL ma'lumotlar bazasini yaratdik. Endi MySQL buyruq satri serverda saqlangan ma'lumotlarga kirishning yagona vositasi bo'lgan taqdirda u bilan qanday ishlashni o'rganish yaxshi bo'lar edi (men uchun bo'lgani kabi, bu haqda men boshida gapirgan edim. maqola).

Ma'lumki, u jadvallardan iborat bo'lib, ularning ichida ma'lumotlar allaqachon bir nechta maydonlarga ega yozuvlar shaklida saqlanadi. Shuning uchun, ma'lumotlarni joylashtirish ierarxiyasidan so'ng, birinchi navbatda jadvallar bilan odatiy CRUD operatsiyalarini bajarishni o'rganamiz.

CRUD operatsiyalari, agar kimdir bilmagan bo'lsa, ingliz tilidan ma'lumotlarni yaratish, o'qish, yangilash va o'chirish operatsiyalari. "Yaratish, o'qish, yangilash, o'chirish" (bu sizga intervyu paytida kerak bo'lishi mumkin).

Eslatib o'taman, jadvallar bilan amallarni bajarish uchun avvalo MySQL ma'lumotlar bazasiga buyruq yordamida ulanish kerak FOYDALANISH.

Shunday qilib, bizning kun tartibimizdagi birinchi narsa bu buyruq qatori orqali ma'lumotlar bazasida MySQL jadvalini yaratish buyrug'i, bu quyidagicha ko'rinadi:

CREATE TABLE jadval_nomi (maydon_nomi_1 maydon_turi_1, maydon_nomi_2 maydon_turi_2(maydon_oʻlchami_2), INDEX(maydon_nomi_1), ...);

Siz tushunganingizdek, siz xohlagancha ko'p maydonlar bo'lishi mumkin, ularning turlari har xil bo'lishi mumkin, shuningdek indekslar va kalitlarning mavjudligi ixtiyoriydir.

Aytgancha, agar siz jadvalni boshqa ma'lumotlar bazasiga ko'chirmoqchi bo'lsangiz yoki shunchaki joriy jadvalda nusxasini yaratmoqchi bo'lsangiz, sizga quyidagi buyruqlar yordam beradi:

JADVAL YARATING yangi_jadval_nomi kabi eski_jadval_nomi; INSERT new_jadval_nomi SELECT * FROM eski_jadval_nomi;

Bu buyruqlar jadval tuzilmasi va uning ma'lumotlarini jadval indekslari va triggerlari bilan birga nusxalash imkonini beradi. Agar sizga shunchaki ma'lumotlar va tuzilma kerak bo'lsa (maydonlar nomlari va ularning ma'lumotlar turlari), unda siz bitta buyruqni chaqirish orqali olishingiz mumkin:

JADVAL YARATING yangi_jadval_nomi * FROM eski_jadval_nomi;

CRUD blokidan keyingi operatsiya o'qishdir. Jadvallar bo'lsa, o'qish ularning tuzilishini ko'rsatadi. Buning uchun quyidagi to'rtta buyruq mavjud:

jadval_nomidan TO'LIQ USTUNLARNI KO'RSATISH; jadval_nomini TA'SFRI BERING; jadval_nomini tushuntirish; SHOW CREATE TABLE table_name;

Birinchisi, MySQL konsoliga ma'lumotlar bazasi jadvalining maydonlari haqidagi ma'lumotlarni jadval shaklida ko'rsatadi, bu maydon nomini, ma'lumotlar turini, kalitlarning mavjudligini, standart qiymatni va boshqalarni ko'rsatadi. Kalit so'zdan foydalanganda TO'LIQ joriy foydalanuvchi uchun har bir maydon uchun imtiyozlar, ularning har biri uchun sharhlar va kodlash qiymatini o'z ichiga olgan kengaytirilgan ma'lumotlarni olishingiz mumkin.

Ikkinchi va uchinchi buyruqlar kengaytirilgan ma'lumotsiz birinchi buyruqning oddiygina qisqartirilgan shakllaridir. Nima uchun ularni ishlab chiqarish kerak edi - men tasavvur ham qila olmayman ... Ish suhbatlari paytida so'raladigan narsa bo'lishi uchunmi? 🙂

To'rtinchi buyruq, nom, maydon turlari va ularning standart qiymatlaridan tashqari, jadval kalitlari, jadval dvigatellari (InnoDB, MyISAM), kodlash va boshqalar qiymatlarini olish imkonini beradi.

Jadvallar holatida yangilash operatsiyasi ularning tuzilishidagi o'zgarishlarni anglatadi, ya'ni. MySQL jadval maydonlari bilan turli harakatlar:

ALTER TABLE jadval_nomi DROP COLUMN maydon_nomi; ALTER TABLE jadval_nomi ADD COLUMN maydon_nomi VARCHAR(20); ALTER TABLE jadval_nomi eski_maydon_nomini o'zgartiring yangi_maydon_nomi VARCHAR(50); ALTER TABLE jadval_nomini O'GRISH maydon_nomini VARCHAR(3);

Birinchi buyruq ma'lum bir jadval maydonini o'chirishga, ikkinchisi uni qo'shishga, uchinchisi maydon nomini o'zgartirishga va bir vaqtning o'zida unda saqlangan ma'lumotlar turini o'zgartirishga, to'rtinchisi esa faqat ma'lumotlar turini o'zgartirishga imkon beradi. .

Xuddi shu narsani asosan o'xshash buyruqlar yordamida jadval indekslari bilan qilish mumkin:

ALTER TABLE jadval_nomi QO'SHISH UNIQUE INDEX indeks_nomi (maydon_nomi_1, ...); ALTER TABLE jadval_nomi INDEX eski indeks_nomini yangi indeks_nomiga o'zgartirish; ALTER TABLE jadval_nomi DROP INDEX indeks_nomi;

Quyidagi buyruqlar buyruq qatori orqali MySQL jadvallariga indekslarni qo'shish, nomini o'zgartirish va o'chirish imkonini beradi. Aytgancha, indekslarni qo'shish va o'chirish uchun mustaqil buyruqlardan foydalanishning boshqa alternativ varianti mavjud. JADVAL ALTER. Shuning uchun, agar xohlasangiz, ulardan foydalanishingiz mumkin:

YAXSHI INDEX indeks_nomini YARATING (maydon_nomi_1, ...) ON jadval_nomi; DROP INDEX indeks_nomi ON jadval_nomi;

Berilgan buyruqlar oldingi blokdagi birinchi va oxirgiga teng. Afsuski, indeks nomini o'zgartirish uchun alohida buyruq mavjud emas. Va indeks turini o'zgartirish uchun, afsuski, MySQL-da umuman yo'l yo'q. Yagona yechim - indeksni o'chirish va uni kerakli tur bilan qayta yaratish.

Va nihoyat, biz CRUD blokidan so'nggi operatsiyaga - o'chirishga erishdik. MySQL jadvallarini ma'lumotlar bazasidan olib tashlash juda oddiy. MySQL konsolida quyidagi buyruqni bajaring:

DROP TABLE jadval_nomi;

Ba'zan amalda jadvalni o'chirish yoki uning tuzilishini o'zgartirishni imkonsiz qiladigan vaziyatlar yuzaga keladi. Qoida tariqasida, bu jadvallarni bir-biri bilan bog'lash uchun ma'lumotlar bazasida xorijiy kalitlardan foydalanish bilan bog'liq. Maqolaning boshida aytganimdek, men shaxsan bu holatga bir necha bor duch kelganman.

Shuning uchun, agar jadval tuzilmasi yoki uning ma'lumotlarini o'chirish yoki yangilashda MySQL sizga matn bilan xatolikni qaytargan bo'lsa Asosiy qatorni oʻchirib boʻlmaydi yoki yangilab boʻlmaydi: xorijiy kalit cheklovi bajarilmaydi, unda quyidagi ma'lumotlar siz uchun foydali bo'ladi.

Rejamizni amalga oshirish uchun biz chet el kalitlari mavjudligini tekshirishni vaqtincha o'chirib qo'yishimiz, kerakli operatsiyani bajarishimiz va keyin tekshirishni qayta yoqishimiz kerak, chunki bu haqiqatan ham zarur va ko'p hollarda ma'lumotlar yaxlitligi buzilishidan himoya qilish imkonini beradi.

Aslida, buning uchun MySQL xorijiy kalitlari kerak.

Shunday qilib, chet el kalitlari bilan aralashadigan ma'lumotlarni o'chirish uchun MySQL konsolida quyidagi amallarni bajarishingiz kerak:

FOREIGN_KEY_CHECKS NI O'rnatish=0; #kerakli_mysql_buyrug'i FOREIGN_KEY_CHECKS SET=1;

Aytgancha, agar siz chet el kalitini o'chirmoqchi bo'lsangiz, protsedura indeksni o'chirish bilan bir xil bo'ladi:

ALTER TABLE jadval_nomi DOP FOREIGN KEY xorijiy_kalit_nomi;

Jadvalning MySQL tashqi kaliti nomini bilish uchun allaqachon tanish bo'lgan MySQL konsol buyrug'idan foydalaning. JADVAL TUZISHNI KO'RSATISH.

MySQL jadval ma'lumotlari bilan buyruq satri orqali ishlash

CRUD jadvallari uchun biz MySQL konsolidagi operatsiyalarni ko'rib chiqdik. To'liq rasm uchun ushbu cheat varaqda faqat ma'lumotlar bazasi jadvallarida saqlangan ma'lumotlar bilan ishlash uchun buyruqlar mavjud emas. O'ylaymanki, ko'p odamlar bu buyruqlarni bilishadi va ularni amalda qo'llashdi, lekin men ularni yana bir bor eslatib o'taman.

MySQL jadval ma'lumotlari bilan ishlash uchun CRUD operatsiyalari quyidagicha ko'rinadi:

INSERT INTO jadval_nomi (maydon1, maydon2, ...) VALUES (maydon_1 qiymati, maydon_2 qiymati, ...); 1-maydon, 2-maydon, ... FROM jadval_nomi; UPDATE jadval_nomi SET maydoni1 = maydon_1 qiymati, maydon2 = maydon_2 qiymati; DELETE FROM table_name WHERE maydon1 = maydon_1 qiymati;

Yuqoridagi buyruqlar MySQL ma'lumotlar bazasi jadvallaridan ma'lumotlarni yaratish, o'qish, yangilash va o'chirish operatsiyalariga mos keladi. SELECT va UPDATE-dan foydalanganda, shuningdek, DELETE-dan foydalanganda tasvirlangan tarzda ma'lumotlarni tanlashni belgilash uchun ishlatilishi mumkin bo'lgan WHERE bandidan foydalanish mumkin.

Shuningdek, SELECT yordamida ma'lumotlar bazasidan ma'lumotlarni olishda siz barcha jadval maydonlarining qiymatlarini olish uchun quyidagi parametrdan foydalanishingiz mumkin:

SELECT * FROM table_name;

Tabiiyki, bu operatsiyalar WHERE dan tashqari boshqa operatorlardan ham foydalanishi mumkin. Ayniqsa, SELECT yordamida ma'lumotlarni olishda ularning ko'pi bor: bu erda bir nechta so'rovlar natijalarini va turli xil JOIN turlarini birlashtirish uchun UNION mavjud. Hammasini sanab o'tish juda uzoq va buni o'qish men uchun ham, siz uchun ham zerikarli bo'ladi.

Shuning uchun, keling, rozi bo'laylik: agar biror narsa haqida ko'proq bilmoqchi bo'lsangiz, bu haqda sharhlarda yozing, men sizga javob berishga harakat qilaman. Yoki jamiyatimizning boshqa bilimdon a'zolari buni qilishadi. Kelishdikmi? 😉

Shuning uchun biz hozircha bu blok haqida to'xtalmaymiz.

Jadvaldagi barcha ma'lumotlarni o'chirish kerak bo'lsa, quyidagi MySQL buyrug'idan foydalanishingiz mumkin:

TRUNCATE jadval_nomi;

Uni chaqirishdan oldin, yuqorida aytib o'tilganidek, kerakli harakatni bajarishga to'sqinlik qiladigan tegishli MySQL jadvallari mavjud bo'lsa, tashqi kalitlarni tekshirishni o'chirib qo'yishingiz kerak bo'lishi mumkin.

Yana bir qiziq jihati shundaki, bu buyruq AUTO_INCREMENT hisoblagichini qayta o‘rnatmaydi, ma’lumki, u maydon qiymatini qo‘lda o‘rnatmasdan avtomatik ravishda yaratish uchun ishlatiladi.

Ushbu turdagi maydonlar ko'pincha turli jadvallardagi ma'lumotlar o'rtasidagi munosabatlarni o'rnatish uchun ishlatiladigan asosiy kalit maydon identifikatori uchun qiymatlarni yaratish uchun ishlatiladi.

Ya'ni, agar jadval ma'lumotlarini o'chirishdan oldin TURNCATE maksimal hisoblagich qiymati 1200 edi, keyin ushbu protseduradan keyingi birinchi yozuv 1201 identifikator qiymatiga ega bo'ladi. Asosan, bu yaxshi. Agar siz ushbu maydon uchun etarli hajmni o'rnatgan bo'lsangiz, unda siz yaqin orada qiymatlarni to'ldirish xavfiga duch kelmaysiz.

Biroq, ba'zi hollarda, dastur kodi maydon qiymatiga qandaydir bog'lanishga ega bo'lsa, bu xatti-harakatlar noqulaylik tug'dirishi mumkin.

Bunga yo'l qo'ymaslik uchun yuqoridagi buyruq o'rniga ushbu parametrdan foydalaning:

TRUNCATE TABLE someTable IDENTITY NI QAYTA BOSHLASH;

Ushbu buyruqni chaqirish opsiyasi TURNCATE dan maydon hisoblagich qiymatini tiklash imkonini beradi AUTO_INCREMENT. Shuning uchun, ushbu o'chirishdan keyin birinchi qo'shilgan yozuvning maydon qiymati yuqoridagi misoldagi kabi 1201 o'rniga 1 bo'ladi.

MySQL ma'lumotlar bazasini buyruq qatori orqali qanday o'chirish mumkin

Ma'lumotlar bazasi bilan ishlashning hayotiy tsikli tugaydi va mantiqiy ravishda tugaydi - uni o'chirish. MySQL konsolida ushbu operatsiyani bajarish uchun siz quyidagi buyruqni bajarishingiz kerak (bu holda o'chiriladigan ma'lumotlar bazasi buyruq bilan tanlanmasligi mumkin. FOYDALANISH):

DATABASE ma'lumotlar bazasi_nomini o'chirish;

Xuddi shu harakatni MySQL mysqladmin yordam dasturi yordamida amalga oshirish mumkin, men allaqachon ma'lumotlar bazasini yaratishda maqolaning boshida aytib o'tganman:

Mysqladmin ma'lumotlar bazasi_nomini tashlab qo'ying;

Buyruqni chaqirganingizda, server konsolida quyidagi xabar paydo bo'ladi:

Ma'lumotlar bazasini tashlab yuborish juda yomon ishdir.
Ma'lumotlar bazasida saqlangan har qanday ma'lumotlar yo'q qilinadi.

Haqiqatan ham "ma'lumotlar bazasi_nomi" ma'lumotlar bazasini tashlamoqchimisiz

Qisqasi, bu MySQL ma'lumotlar bazasini o'chirish juda yomon fikr ekanligi haqida ogohlantirishdir. Shuningdek, harakatni tasdiqlash so'raladi. Agar rozi bo'lsangiz, yozing y va bosing Kirish klaviaturada, shundan so'ng ekranda quyidagi xabar paydo bo'ladi (agar hamma narsa yaxshi bo'lsa, albatta):

"ma'lumotlar bazasi_name" ma'lumotlar bazasi o'chirildi

Bo'ldi shu :)

Konsolda MySQL foydalanuvchisini qanday o'chirish mumkin

Endi biz yaratgan MySQL foydalanuvchisi ham xuddi shunday taqdirga duch keladi. Lekin birinchi navbatda, kerakli foydalanuvchini o'chirishdan oldin uning mavjudligini tekshirish yaxshi bo'lardi.

MySQL 5.7 dan boshlab ushbu ikkala amal uchun bitta buyruq mavjud:

AGAR FOYDALANUVCHI BO'LSA TO'CHIRISH foydalanuvchi nomi;

MySQL ning oldingi versiyalari ikkita alohida buyruqni talab qilar edi:

"user_name"@"host_yoki_IP_address" GA *.* FOYDALANISHGA BERING; TO'CHIRISH USER "user_name"@"host_or_IP_address";

Afsuski, bu holda MySQL konsolida operatsiya bajarilishi haqidagi xabar an'anaviy tarzda ma'lumotga ega emas 🙁 Shuning uchun MySQL foydalanuvchisi o'chirilganligini bilish uchun barcha foydalanuvchilar ro'yxatini ko'rsatadigan quyidagi buyruqdan foydalanishingiz mumkin. joriy MySQL serverida mavjud:

mysql.user dan foydalanuvchini tanlang;

Ushbu buyruq opsiyasi faqat foydalanuvchi nomlarini ko'rsatadi. Agar siz foydalanuvchilar serverga ulanishi mumkin bo'lgan xostlarni va imtiyozlar ro'yxatini ko'rishingiz kerak bo'lsa, buyruqni quyidagi shaklda chaqirishingiz mumkin:

mysql.user dan foydalanuvchi, xost, Grant_priv ni tanlang;

Shuningdek, mysql.user jadvalida boshqa turdagi imtiyozlar va boshqa ma'lumotlarni saqlaydigan ko'plab boshqa maydonlar mavjud bo'lib, ularning to'liq ro'yxatini bu yerda topishingiz mumkin - https://mariadb.com/kb/en/library/mysqluser- stol/

Bu MariaDB DBMS uchun hujjat ekanligi bilan adashmang. Texnik jihatdan bu MySQL bilan bir xil, chunki... MariaDB shunchaki uning filiali yoki inglizcha "vilka" dan vilka - filial, vilka.

Nega bunday bo'ldi - yana, menda hech qanday tasavvur yo'q 🙂 Balki g'urur bilan hammaga "mening shaxsiy ma'lumotlar bazam bor" deb e'lon qilish kerakmi?.. Lekin, rostini aytsam, MySQL va MySQL o'rtasidagi aniq motivlar va farqlarni unchalik bilmayman. MariaDB. Shuning uchun, agar siz bu haqda biror narsa bilsangiz, bu haqda sharhlarda o'qish qiziqarli bo'ladi.

MySQL konsolidan chiqish

Hammasi shu, ma'lumotlar bazasi va foydalanuvchining yaratilishidan boshlangan va o'chirilishi bilan yakunlangan hayotiy tsikli nihoyasiga yetdi. Shuning uchun, yordam dasturidan foydalanib, biz server konsolida ishlagan MySQL buyruq qatori mysql, bizga endi kerak emas.

Faqat undan chiqib ketish qolgan...

Bu harakat ahamiyatsiz bo'lib tuyuladi, lekin ko'p odamlar MySQL buyruq satridan chiqishlari kerak bo'lgan vaziyatda shunchaki server konsolini yoping va uni qayta oching. Siz, albatta, shunday harakat qilishingiz mumkin, lekin bu ish vaqtining qo'shimcha soniyalarini oladi va har safar buni qilish kerak bo'lganda sizni bezovta qiladi.

Bunday vaziyatda to'g'ri xatti-harakatlar faqat buyruqni chaqirishdir Chiqish MySQL buyruq satrida, shundan so'ng xizmat biz bilan xushmuomalalik bilan xayrlashadi :)

Va bu hammasi 🙂 Shunday qilib, keyingi safar bir nechta konsol yaratish va ularni har safar konsolda MySQL-dan chiqish va serverni boshqarish uchun unga qayta kirish kerak bo'lganda qayta ochish shart emas.

Bugun sizga aytmoqchi bo'lgan narsam shu edi. Umid qilamanki, konsol orqali MySQL buyruq qatori bilan ishlash uchun mening cheat varaqim nafaqat men uchun, balki siz uchun ham foydali bo'ladi.

Maqolada keltirilgan ma'lumotlarning amaliy qo'llanilishi haqida gapiradigan bo'lsak, yuqoridagi konstruktsiyalardan nafaqat MySQL buyruq satri va server konsolida, balki phpMyAdmin va boshqa dasturlarning konsolida ham foydalanish mumkinligini eslatib o'tmoqchiman. bunday imkoniyat.

Siz undan foydalanasizmi yoki yo'qmi sizning biznesingiz. Ammo, maqolaning boshida aytganimdek, MySQL konsolidan foydalanishda vaqt va stressni tejash mumkin bo'lgan holatlar mavjud. Buyruqlar qatoridan har kuni foydalanish kerakmi yoki yo'qmi - bu faqat ta'mga va shaxsiy imtiyozlarga bog'liq.

Qaysi buyruqlarni tez-tez ishlatayotganingizni izohlarda yozing. Yoki siz boshqa fokuslarni bilasiz. Qanday bo'lmasin, o'z fikringizni boshqalar bilan baham ko'ring va suhbatni boshqa foydalanuvchilarning sharhlarida davom eting.

Va'da beramanki, bu jarayonda siz ko'plab yangi narsalarni o'rganasiz, xuddi mening har bir maqolamni yozishda bo'lgani kabi :)

Ana xolos! Omad tilaymiz va yana ko'rishguncha :)

P.S.: agar sizga veb-sayt kerak bo'lsa yoki mavjud veb-saytga o'zgartirishlar kiritishingiz kerak bo'lsa, lekin bunga vaqt yoki xohish bo'lmasa, men o'z xizmatlarimni taklif qila olaman.

5 yildan ortiq tajriba professional veb-sayt yaratish. Bilan ishlash PHP, OpenCart, WordPress, Laravel, Yii, MySQL, PostgreSQL, JavaScript, Reaksiya qilish, Burchakli va boshqa veb-ishlab chiqish texnologiyalari.