Mysql buyruq qatoriga misollar. MySQL bilan buyruq satridan ishlash

Quyida eng foydali va tez -tez ishlatiladigan buyruqlar ro'yxati keltirilgan. MySQL misollar bilan.

satr boshidagi mysql buyruq kiritilgandan so'ng bajarilishini bildiradi MySQL.

Satr boshidagi # yoki $ buyruq buyruq satridan bajarilishini bildiradi.

Server holatini tekshirish uchun MYSQL yugurish:

uchun FreeBSD:

# xizmat mysql-server holati

v CentOS / RHEL:

# xizmat mysqld holati

MySQL agar server bo'lsa konsoldan MySQL bir xil xostda:

Serverga ulanish uchun MySQL agar server bo'lsa konsoldan MySQL db1.example.com masofaviy xostida joylashgan:

$ mysql -u foydalanuvchi nomi -p -h db1.example.com

Ma'lumotlar bazalari, jadvallar bilan ishlash - yozuvlarni ko'rish, o'chirish, tahrir qilish. Konsol

Ma'lumotlar bazasini yaratish MySQL server:

Mysql ma'lumotlar bazasini yaratish

Serverdagi barcha ma'lumotlar bazalari ro'yxatini ko'rsating MySQL:

Mysql -dan foydalanish;

Ma'lumotlar bazasidagi barcha jadvallar ro'yxati:

Mysql jadvallarini ko'rsatish;

Ma'lumotlar bazasida jadval formatini ko'ring:

Mysql tavsifi;

Bazani o'chirish:

Mysql ma'lumotlar bazasi;

Jadvalni ma'lumotlar bazasidan olib tashlang:

Mysql tushirish jadvali;

Jadvalning barcha tarkibini ko'rsatish:

Mysql SELECT * FROM;

Tanlangan jadvalda ustunlar va ustunlar tarkibini ko'rsatish:

Mysql ustunlarni ko'rsatadi;

"Nima bo'lishidan qat'iy nazar" ni o'z ichiga olgan jadvaldagi qatorlarni ko'rsatish:

Mysql SELECT * FROM WHERE = "Nima bo'lishidan qat'iy nazar";

Barcha yozuvlarni "Bob" va "3444444" telefon raqamini o'z ichiga olgan maxsus jadvalda ko'rsatish:

Mysql SELECT * FROM WHERE name = "Bob" AND phone_number = "3444444";

Barcha yozuvlarni ko'rsatish, YO'Q"Bob" nomi va "3444444" telefon raqami, telefon raqami maydoniga ko'ra saralangan:

Mysql SELECT * FROM WHERE name! = "Bob" VA phone_number = "3444444" buyurtmasi phone_number orqali;

Ma'lum jadvalda "bob" harflari va "3444444" telefon raqamidan boshlangan barcha yozuvlarni ko'rsatish:

Mysql SELECT * FROM WHERE nomi kabi "Bob%" VA telefon_number = "3444444";

"Bob" harflari va "3444444" telefon raqamidan boshlangan barcha yozuvlarni ko'rsatish, 1 dan 5 gacha bo'lgan yozuvlar bilan cheklangan:

Mysql SELECT * FROM WHERE nomidan "Bob%" VA VA tel_number = "3444444" chegarasi 1,5;

Yozuvlarni topish uchun oddiy iboralardan ("REGEXP BINARY") foydalanish. Masalan, katta-kichik sezilmaydigan qidiruv uchun A harfidan boshlangan barcha yozuvlarni toping:

Mysql SELECT * FROM WHERE rec RLIKE "^ a";

Barcha noyob yozuvlarni ko'rsatish:

Mysql DISTINCT FROM ni tanlang; mysql SELECT, DESC BY ORDERDAN;

Jadvaldagi qatorlar sonini ko'rsating:

Mysql SELECT COUNT (*) FROM;

Mysql SUM (*) FROMni tanlang;

Ustunni olib tashlash:

Mysql jadvalni o'zgartirish ustuni;

Ma'lumotlar bazasiga ustun qo'shish:

Mysql o'zgartirish jadvaliga ustun qo'shish varchar (20);

Ustun nomini o'zgartirish:

Mysql jadvalini o'zgartirish varchar (50);

Nomlari takrorlanmasligi uchun noyob nomli ustun yarating:

Mysql o'zgartirish jadvaliga noyob qo'shing ();

Ustun o'lchamini o'zgartirish:

Mysql jadvalini o'zgartirish VARCHAR (3);

Jadvaldan ustunni olib tashlash:

Mysql jadvalning pasayish indeksini o'zgartiradi;

Mysql LOAD DATA INFILE "/tmp/filename.csv" "TARMONATLANGAN JADVOLARNI O'RNATISH", "N" TARMONATLANGAN SATIRLARNI almashtiring (1 -maydon, 2 -maydon, 3 -maydon);

Foydalanuvchilar, MySQL server parollari - foydalanuvchilar va parollarni qo'shish, o'zgartirish. Konsol

Yangi foydalanuvchi yarating - serverga ulaning MySQL root sifatida, ma'lumotlar bazasiga o'tish, foydalanuvchini qo'shish, imtiyozlarni yangilash:

# mysql -u root -p mysql mysql -dan foydalanadi; mysql INSERT INTO user (Xost, Foydalanuvchi, Parol) VALUES ("%", "foydalanuvchi nomi", PASSWORD ("parol"))); mysql flush imtiyozlari;

Foydalanuvchi paroli db1.example.org masofaviy xostidagi konsoldan o'zgaradi:

# mysqladmin -u foydalanuvchi nomi -h db1.example.org -p paroli "yangi parol"

Foydalanuvchi parolini konsoldan o'zgartiring MySQL- ildiz sifatida ulanish, parolni yangilash, imtiyozlarni yangilash:

# mysql -u root -p mysql "user" @ "hostname" = PASSWORD ("passwordhere") uchun parolni o'rnating; mysql flush imtiyozlari;

Ildiz server parolini tiklash / o'zgartirish MySQL- STOP MySQL, imtiyozli jadvallarsiz boshlang, root sifatida ulaning, yangi parol o'rnating, chiqing va qayta ishga tushiring MySQL.

# /etc/init.d/mysql stop # mysqld_safe -skip -grant -tables & # mysql -u root mysql mysql -dan foydalaning; mysql update user set password = PASSWORD ("newrootpassword"), bu erda User = "root"; mysql; tozalash imtiyozlari; mysql # /etc/init.d/mysql stop # /etc/init.d/mysql boshlanishidan chiqadi

Agar root parol bo'lsa, root parolini o'rnating.

# mysqladmin -u root parol yangi parol

Ildiz parolini yangilash:

# mysqladmin -u root -p oldpassword newpassword

"Passwd" paroli bilan localhost hostidan serverga ulanish huquqini belgilash - pastki ildizni ulash, ma'lumotlar bazasiga o'tish, imtiyozlarni o'rnatish, imtiyozlarni yangilash:

# mysql -u root -p mysql mysql -dan foydalanadi; mysql "passwd" tomonidan aniqlangan bob @ localhost uchun *. * da foydalanishga ruxsat beradi; mysql flush imtiyozlari;

Ma'lumotlar bazasidan foydalanuvchi uchun imtiyozlarni belgilash - ildiz sifatida ulanish, ma'lumotlar bazasiga o'tish, imtiyozlarni o'rnatish, imtiyozlarni yangilash:

# mysql -u root -p mysql mysql -dan foydalanadi; mysql INSERT INTO db (Xost, JB, Foydalanuvchi, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv) VALUES ("%", "ma'lumotlar bazasi nomi", "foydalanuvchi nomi", "Y", "Y", "Y", " Y "," Y "," N "); mysql flush imtiyozlari;

Mysql ma'lumotlar bazasi nomidagi barcha imtiyozlarni beradi. * Foydalanuvchi nomiga @ localhost; mysql flush imtiyozlari;

Ma'lumotlar bazasidagi ma'lumotlarni yangilash:

Mysql UPDATE SET Select_priv = "Y", Insert_priv = "Y", Update_priv = "Y" bu erda = foydalanuvchi ";

Jadvaldagi qatorni o'chirish:

Mysql DELETE qayerdan = "nima bo'lishidan qat'iy nazar";

Ma'lumotlar bazasi imtiyozlarini yangilash:

Mysql flush imtiyozlari;

Zaxiralash - ma'lumotlar bazasini yaratish, tiklash. Konsol

Alldatabases.sql fayliga barcha ma'lumotlar bazalarining zaxira nusxasini yarating:

# mysqldump -u root -p parol -opt; /tmp/alldatabases.sql

Ma'lumotlar bazasini databaseasename.sql fayliga zaxiralash:

# mysql dump -u foydalanuvchi nomi -p parol -ma'lumotlar bazalari ma'lumotlar bazasi nomi; /tmp/databasename.sql

Ma'lumotlar bazasi.tablename.sql fayliga bitta jadvalni zaxiralash:

# mysql dump -c -u foydalanuvchi nomi -p parol ma'lumotlar bazasi nomi jadval nomi; /tmp/databasename.tablename.sql

Ma'lumotlar bazasini (yoki jadvalni) zaxiradan tiklash:

# mysql -u foydalanuvchi nomi -p parol ma'lumotlar bazasi nomi< /tmp/databasename.sql

Ma'lumotlar bazasi jadvallarini yaratish. Konsol

ustun nomlari kichik harflar bilan yozilgan;
KAPITAL harflarda - ustun turlari va atributlari;
ichida (qavs) - ustun turining qiymati.

Jadval 1 -misol yarating:

mysql CREATE TABLE (ism -sharifi VARCHAR (20), o'rta VARCHAR (3), familiyasi VARCHAR (35), qo'shimchasi VARCHAR (3), idoraviy VARCHAR (10), foydalanuvchi nomi VARCHAR (15), foydalanuvchi nomi VARCHAR (8), elektron pochta VARCHAR (35) ), telefon VARCHAR (25), VARCHAR guruhlari (15), DATA, DATA vaqt belgisi, TIME, pgpemail VARCHAR (255));

2 -jadval jadvalini yarating:

Mysql jadval yaratish (personid INT (50) NOT NULL AUTO_INTCREMENT PRIMARY KEY, VARCHAR (35) ismi, VARCHAR o'rta ismi (50), familiyasi VARCHAR (50) standart "bato");

Bu nafaqat PHP orqali. MySQL MySQL serveriga ulanish uchun konsol mijozi bilan birga keladi. Konsol - bu shuni anglatadiki, dastur oynali interfeysga ega emas, faqat ma'lumotlar bazalariga kirish SQL so'rovlari yordamida amalga oshiriladigan buyruq qatori interfeysi.

MySQL -ga ulanish buyruqlari buyruq qatori va undan ham ko'proq o'zingiz SQL so'rovlari uchun bir xil. Qisqasi, men "MySQL" ni yozaman, lekin hamma joyda "MySQL yoki MariaDB" ni nazarda tutaman, chunki bu holda ular o'rtasida hech qanday farq yo'q.

MySQL DBMSga buyruq satri orqali ulanish orqali siz turli vazifalarni bajarishingiz mumkin: ma'lumotlar bazalari va ularning jadvallarini ko'rish, ma'lumotlar bazalariga so'rovlar yuborish va bu so'rovlar natijalarini olish.

MySQL serveriga ulanish uchun mysql.exe deb nomlangan mijoz dasturining buyrug'i ishlatiladi. Uni ishga tushirish kerak, lekin siz buni oddiy dastur kabi ikki marta bosish bilan emas, balki buyruq satridan qilishingiz kerak.

Klaviatura yorliqlarini bosishdan boshlaylik Win + r va ijro eting

Buyruqning xohishi ochiladi.

Endi biz fayl bilan papkaga o'tishimiz kerak mysql.exe... Bu jild axlat qutisi MySQL ma'lumotlar bazasi o'rnatilgan katalogda. Masalan, papkada MariaDB o'rnatilgan C: \ Server \ bin \ mariadb \... Shuning uchun bizni qiziqtirgan fayl katalogda joylashgan C: \ Server \ bin \ mariadb \ bin \... Ushbu katalogga o'tish uchun buyruqni ishlating CD quyida bayon qilinganidek:

CD C: \ Server \ bin \ mariadb \ bin \

Ushbu buyruqda C: \ Server \ bin \ mariadb \ bin \ ni tizimingiz uchun to'g'ri yo'l bilan almashtiring

Endi mysql.exe faylini ishga tushiramiz. .Exe fayl kengaytmasini ko'rsatish shart emas - tizim biz nimani nazarda tutayotganimizni taxmin qiladi. Variantdan ham foydalanishimiz kerak -u va -p... Birinchi variantdan so'ng siz foydalanuvchi nomini ko'rsatishingiz kerak - ildiz... Ikkinchi variantdan so'ng - foydalanuvchi uchun parol. Mening holatimda, parol o'rnatilmagan, shuning uchun men variantsiz ishlayman -p:

Mysql -u ildizi

Ko'p narsa o'zgarmaganga o'xshaydi, lekin buyruq satrining yangi so'rovi

MariaDB [(yo'q)]>

MySQL serveriga ulanganligimizni bildiradi. Aniqrog'i, menimcha, biz MariaDB serveriga ulanganmiz.

Ma'lumotlar bazalari ro'yxatini ko'rish uchun buyruqni kiriting:

Ma'lumotlar bazalarini ko'rsatish;

Keyingi so'rovlarni ma'lum bir ma'lumotlar bazasiga yuborish uchun (masalan, test) buyruqdan foydalaning FOYDALANISH:

USE testi;

Tanlangan ma'lumotlar bazasidagi jadvallarni ko'rish uchun buyruqni bajaring:

JADVALLARNI KO'RSATISH;

Keling, qandaydir jadval tuzaylik:

JADVAL MualliflariTBL (AuthorID INT NOT NULL AUTO_INCREMENT, AuthorName VARCHAR (100), PRIMARY KEY (AuthorID));

Keling, yana testlar bazasining mazmunini ko'rib chiqaylik.


MySQL serverini har qanday foydalanuvchi kabi ishga tushirish va ishga tushirish mumkin. Mysqld -ni Unix user_name ostida ishlashini sozlash uchun quyidagi amallarni bajaring:

    Agar server ishlayotgan bo'lsa, uni to'xtating (mysqladmin o'chirishni ishlating).

    Kataloglar va ma'lumotlar bazasi fayllarini user_name ushbu kataloglardagi fayllarga o'qish / yozish huquqiga ega bo'lishi uchun o'zgartiring (buni Unix root hisobidan qilish kerak bo'lishi mumkin):

    Shell> chown -R user_name / path / to / mysql / datadir

    Agar katalogdagi kataloglar yoki fayllar orasida bo'lsa MySQL ma'lumotlari ramziy havolalar mavjud, siz ham ushbu havolalarga rioya qilishingiz va ular ko'rsatadigan katalog va fayllarni o'zgartirishingiz kerak bo'ladi. chown -R ramziy havolalarni buzishi mumkin.

    Serverni user_name hisobidan boshlang yoki agar sizda MySQL 3.22 yoki undan yuqori versiyasi bo'lsa, mysqldni Unix root hisobidan ishga tushiring va --user = user_name parametridan foydalaning. mysqld ulanish so'rovlarini yuborishdan oldin Unix user_name foydalanuvchi kontekstida bajarishga o'tadi.

    Serverni yuklash vaqtida avtomatik ravishda berilgan foydalanuvchi sifatida ishga tushirish uchun /etc/my.cnf variantlari yoki server ma'lumotlari katalogidan my.cnf variantlari fayllar guruhiga foydalanuvchi nomini ko'rsatgan foydalanuvchini qo'shing. Masalan:

    Foydalanuvchi = user_name

Bu vaqtda mysqld jarayoni Unix user_name ostida muammosiz ishlashi kerak. Biroq, imtiyozli jadvallar tarkibi o'zgarmaydi. Odatiy bo'lib (mysql_install_db imtiyozli jadvallarni o'rnatish skriptini ishga tushirgandan so'ng), MySQL root foydalanuvchisi mysql ma'lumotlar bazasiga kirish, shuningdek ma'lumotlar bazalarini yaratish va o'chirish huquqiga ega bo'lgan yagona foydalanuvchi hisoblanadi. Agar siz bu ma'lumotni o'zgartirmagan bo'lsangiz, ular hali ham amal qiladi. Unix-ga root bo'lmagan foydalanuvchi sifatida kirish MySQL-ga MySQL-ning root-foydalanuvchisi sifatida kirishingizga to'sqinlik qila olmaydi; faqat mijoz dasturiga -u root variantini bering.

E'tibor bering, MySQL -ni buyruq satrida -u root -ni ko'rsatish orqali MySQL -ning root foydalanuvchisi sifatida ishlatish hech qanday umumiylik yo'q MySQL -ni Unix root foydalanuvchisi ostida yoki umuman Unix -ning har qanday foydalanuvchisi ostida ishlatish. MySQL -ga kirish huquqi va foydalanuvchi nomlari Unix foydalanuvchi nomlari bilan hech qanday aloqasi yo'q. Unix foydalanuvchi nomlari bilan yagona aloqa shundaki, agar mijoz dasturini ishga tushirishda -u opsiyasi ko'rsatilmagan bo'lsa, mijoz MySQL foydalanuvchi nomi sifatida Unix hisob qaydnomasi yordamida ulanishga harakat qiladi.

Agar Unix serveri juda yaxshi himoyalanmagan yoki kuchaytirilgan xavfsizlik choralariga muhtoj bo'lmasa, hech bo'lmaganda MySQL root foydalanuvchisi uchun imtiyozli jadvallarda parol o'rnatishingiz kerak. Aks holda, bu mashinada hisob qaydnomasi bo'lgan har qanday foydalanuvchi mysql -u root db_name -ni ishga tushirishi va MySQL -da xohlaganini qilishi mumkin.


MySQL ma'lumotlar bazasi serveri ko'pincha dinamik veb -echimlarni yaratish uchun ishlatiladi. Buning sabablaridan biri (va ehtimol, buning natijasi) shundaki, UNIX platformasidagi tarif rejalaridagi deyarli barcha xostlar bir yoki bir nechta MySQL ma'lumotlar bazalarini taklif qilishadi. Agar siz virtual xostingdan foydalansangiz, deyarli server boshqaruvini o'rganishingiz shart emas, siz tanlagan dasturlash tilini qo'llab-quvvatlaydigan interfeysga amal qilib, o'z dasturlaringizni amalga oshirishingiz kerak (PHP ma'lumotlar bazasi bilan bog'lanish uchun o'rnatilgan interfeysga ega. 5.0 versiyasi MySQL -ni qo'llab -quvvatlash litsenziyali fikrlar uchun alohida kutubxonaga ko'chirildi). Qolgan barcha ma'muriy muammolar - ishga tushirish, to'xtatish, qayta yuklash, huquqlar va foydalanuvchilarni boshqarish, zaxiralash va serverni sozlash - xosting -provayder ma'murlari tomonidan amalga oshiriladi. Ammo, agar siz o'zingizning shaxsiy serveringizni yoki VDS (Virtual ajratilgan server - virtual ajratilgan server) ni o'rnatgan bo'lsangiz, uning ishining barcha nuanslariga o'zingiz g'amxo'rlik qilishingiz kerak bo'ladi.

MySQL -serverni sozlash ikki usulda amalga oshirilishi mumkin - serverni ishga tushirishda va my.ini konfiguratsiya fayli orqali buyruq satriga parametrlarni o'rnatish orqali. Siz shuningdek, joriy server sessiyasi uchun o'rnatilishi mumkin bo'lgan va qayta yuklashda yo'qolishi mumkin bo'lgan ixtiyoriy parametrlarni va butun server va butun ma'lumotlar bazasi uchun global miqyosda ishlaydigan muhit o'zgaruvchilarini farqlashingiz kerak - ularni faqat yangi qiymatlarni to'g'ridan -to'g'ri ko'rsatish orqali o'zgartirish mumkin.

Siz konsolda "mysqld --help" yozib, barcha mavjud buyruqlar va variantlar ro'yxatini olishingiz mumkin. Aytish kerakki, deyarli barcha buyruqlar universal va MySQL -server ishlaydigan barcha platformalarda qo'llab -quvvatlanadi, lekin Windows NT platformasi uchun bir nechta maxsus buyruqlar mavjud. Barcha buyruqlar uchun to'liq sintaksis mavjud bo'lib, buyruq ikkita chiziqcha (minus) "-" bilan boshlanganda, darhol bo'sh joysiz, buyruq nomi bilan yoziladi (yoki variantlar, bundan keyin bu so'zlar sinonim bo'ladi). Agar siz qiymatni belgilashingiz kerak bo'lsa, buyruq nomidan keyin "=" belgisi va o'rnatiladigan qiymat keladi. Qisqartirilgan shaklda bitta chiziqcha ko'rsatiladi, buyruq nomi bitta harfga qisqartiriladi va parametrlar bo'sh joy bilan ko'rsatiladi. Faqat "-soket" variantining qisqa shakli yo'q (u "-s" bo'lishi kerak). Esda tutingki, buyruqlar yozilishi katta-kichik harflarga sezgir, "-l" va "-L" buyruqlari esa butunlay boshqacha. Sharhlarni konfiguratsiya faylida belgilashingiz mumkin - ular "#" belgisi bilan ajratilgan va butun satr oxirigacha e'tiborga olinmaydi.


Keling, birinchi navbatda eng muhim buyruqlarni ko'rib chiqaylik.

--Help buyrug'i eng muhim, u erda mavjud bo'lgan barcha buyruqlar ro'yxati keltirilgan

Yordam yoki -? (4.1 va undan yuqori versiya serverlarida "-h" qisqa buyrug'i yo'q; bundan tashqari, buyruqni ishga tushirish uchun avval "-verbose" buyrug'ini ko'rsatish kerak)-mavjud buyruqlar va variantlar bo'yicha yordamni ko'rsatadi, serverning o'zi boshlamaydi.
--versiya yoki -V -agar MySQL serverining aniq versiyasini va u ishlayotgan platformani bilishingiz kerak bo'lsa, foydalidir.
--user = yoki -u -server ishga tushadigan foydalanuvchi nomini bildiradi. Odatda serverni root sifatida ishlatish tavsiya etilmaydi. Misol: "--user = vasya".
-p -"-u" buyrug'i bilan birgalikda foydalanuvchi hisobining parolini o'rnatish uchun ishlatiladi. Agar parol bo'lmasa (standart o'rnatish asosiy foydalanuvchi uchun parol bermaydi), buyruqni o'tkazib yuborish mumkin. E'tibor bering - buyruq sintaksisi boshqacha - parol buyruqdan keyingi satrda hech qanday ajratgichsiz ko'rsatiladi. Misol: "--user = vasya -pverygoodpassword", bu erda "verygoodpassword"-"vasya" foydalanuvchisi uchun parol.
-P yoki --port = -mysqld serveriga ulanish o'rnatiladigan port raqamini bildiradi. Odatiy bo'lib, server TCP 3306 portini tinglaydi, lekin siz boshqasini belgilashingiz mumkin. E'tibor bering, buyruqning qisqartirilgan versiyasi katta P harfi bilan yozilgan, chunki kichik p harfi foydalanuvchi parolini o'rnatish uchun ishlatiladi.
--bind-address =-server IP-manzilini majburlash uchun ishlatiladi, sukut joriy kompyuter manzilidir.
-tarmoqni o'tkazib yuborish-buyruq ishlatishni to'liq taqiqlaydi tarmoq ulanishlari serverga ulanish uchun siz faqat localhost xostidan ishlay olasiz.

Keyingi buyruqlar guruhi ma'lumotlar bazalari bilan ishlashga mo'ljallangan.

Xabarlarni rus tilida ko'rsatish -use --language = ruscha

Datadir = yoki -h - ma'lumotlar bazalari saqlanadigan katalogni aniq ko'rsatishga imkon beradi. Ma'lumotlar bazasini boshqa bo'limda saqlamoqchi bo'lsangiz yoki talab qilinishi mumkin mantiqiy haydovchi yoki ma'lumotlar bazalarini saqlash uchun turli kataloglardan foydalanadigan bir nechta serverlar mavjud. To'liq yo'lni ham, nisbiy yo'lni ham ko'rsatishga ruxsat beriladi. Misol: "mysqld --datadir = \ home \ vasya \ base".
--basedir = yoki -b -o'rnatilgan serverli katalogga yo'l.
--tmpdir = yoki -t -vaqtinchalik fayllar katalogiga yo'l.
-belgilar-to'plamlari-dir =. Ushbu parametr har xil kodlash uchun konfiguratsiya fayllarini o'z ichiga olgan katalogga yo'lni belgilaydi. Bu ma'lumotlar jadvallarning satrli maydonlarida to'g'ri saralash va qidirish uchun muhim ahamiyatga ega.
--language = yoki -L -xabar va xatolarni ko'rsatish uchun tilni bekor qilishga imkon beradi. Standart ingliz tili, lekin boshqalar ham qo'llab -quvvatlanadi - xususan, rus tili. Chiqish tilini o'rnatish uchun siz uning nomini lotin harflarida ko'rsatishingiz kerak (ruscha - ruscha, inglizcha - inglizcha). Buyruqning ishlashi uchun \ share \ katalogi bo'lishi kerak, lekin agar uning yo'li standart yo'ldan farq qilsa, tilni ko'rsatishning o'rniga, katalogga to'liq yo'lni tasvirlab berish kerak, masalan, "-til = \ user \ vasya \ mysql \ langv \ ruscha ".
--default-character-set =-Standart belgi kodlashni o'rnatadi. Charset parametrining mumkin bo'lgan qiymatlari orasida quyidagilar mavjud: koi8_ru, german1, cp1251, win1251, koi8_ukr, win1251ukr, win1250 va boshqalar - jami 20 dan ortiq turli xil kodlashlar. Agar jadvallar turli tillardagi matnlarni saqlasa, kodlash muhim va ma'lumotlarni qidirish va saralashda milliy xususiyatlarni hisobga olish muhim.

Bu serverni sozlashda sizga kerak bo'lishi mumkin bo'lgan eng muhim variantlar va buyruqlar edi. Barcha buyruqlar juda ko'p va ularni to'liq o'rganish uchun o'rnatilgan yordamdan foydalaning (-yordam buyrug'i orqali qo'ng'iroq qiling).

Ba'zi buyruqlar aniq va faqat Windows NT uchun mavjud

Windows NT platformasiga xos bo'lgan bir nechta buyruqlar mavjud.
-konsoli -buyruq 3.22.4 versiyasida paydo bo'lgan va barcha xato xabarlarini konsol oynasiga chiqarishga mo'ljallangan, bu disk raskadrovka yoki server ishiga turli parametrlarning ta'sirini o'rganishda foydalidir.
-o'rnatish -faqat Win2000 / XP platformasida ishlaydi va MySQL serverini tizimning har yuklanishidan boshlanadigan va doimiy ravishda mavjud bo'lgan tizim xizmati sifatida ro'yxatdan o'tkazadi. tasodifiy kirish xotirasi(agar siz xizmatni ro'yxatdan o'tkazishingiz kerak bo'lsa, lekin foydalanuvchi uni o'zi ishga tushirsa, buyruq "--insatll-manual" ga o'xshaydi). "-o'chirish" buyrug'i serverni tizim xizmatlari ro'yxatidan olib tashlaydi.
-mustaqil -serverni Win2000 / XP ostida tizim xizmati emas, balki alohida dastur sifatida ishga tushirish.

Bu harakatlar uchun tarqatish to'plamiga kiritilgan WinMySQLAdmin grafik yordam dasturidan foydalanish eng qulaydir.

Bundan tashqari, server ishga tushirilgan barcha parametrlar va parametrlar to'g'risida hisobot tuzish uchun ham foydalanish mumkin, bu serverni batafsil ko'rib chiqish va ish faoliyatini optimallashtirishda foydali bo'lishi mumkin. Boshqa grafik yordamchi dasturlar MySQL Administratori kabi, bu ma'lumotlarni ko'rish bilan emas, balki uni o'zgartirish uchun qulay interfeysdan foydalanish imkonini beradi. Ammo masofaviy server yoki resurslar cheklangan bo'lsa, buyruq satri orqali boshqaruvdan foydalanish yaxshidir. Bundan tashqari, grafik interfeysi o'zgartirilayotgan variantlarning maqsadini bilish va tushunish zarurligini bartaraf etmaydi.

Ma'lumotlar bazasini boshqarishning mashhur tizimi MySQL U turli xil ehtiyojlar uchun, birinchi navbatda, Internet -xosting sohasida amalda standart sifatida keng qo'llaniladi. Ushbu ma'lumotlar bazasini boshqarish paketi ham keng tarqalgan. phpMyAdmin... Shubhasiz, bu yaxshi va qulay mahsulot, lekin tez -tez sodir bo'ladiki, ushbu mahsulot bilan ishlash ko'nikmalari DBMS bilan ishlash ko'nikmalarini to'liq almashtiradi. Shuning uchun, ushbu maqolada biz o'quvchilarimizni buyruq satridan MySQL boshqaruvining asosiy vazifalarini qanday bajarish bilan tanishtirishga qaror qildik.

Muntazam o'quvchilarimiz payqagan bo'lishi mumkin, biz yangi boshlanuvchilarning qanchalik qulay va keng tarqalgan bo'lishidan qat'i nazar, har xil boshqaruv panellaridan foydalanishga doimiy ravishda qarshimiz. Shu bilan birga, biz ularning mavjudligini inkor etmaymiz va biz ularni kundalik hayotimizda zavq bilan ishlatamiz.

Ammo bitta katta farq bor: panel yordamida buyruq qatori bilan ishlashni biladigan mutaxassis uni mahsulot bilan ishlash qobiliyati bilan almashtirmaydi, balki faqat kundalik vazifalarni bajarishni osonlashtiradi. Va paneldagi barcha harakatlarni bajarishga odatlangan yangi boshlovchi, agar unga kirish imkoni bo'lmasa, tinch vahimaga tushadi, chunki endi bu tushunarsiz qora konsoliga "sehr" kiritish kerak ...

Aslida, buyruq satri darajasida DBMS bilan ishlash umuman qiyin emas va boshqaruvning ba'zi vazifalarini bajarish osonroq va qulayroqdir. Zudlik bilan rezervasyon qilaylik, ma'muriyat deganda biz ma'lumotlar bazalarining o'zi emas, balki DBMS serverining ma'muriyatini nazarda tutamiz. Albatta, siz ular bilan buyruq satridan ham ishlashingiz mumkin, lekin buning uchun ko'proq mos vositalardan foydalanish yaxshiroqdir.

MySQL -da ma'lumotlar bazasi va foydalanuvchilarni boshqarish

Agar siz pechdan raqsga tushishni boshlasangiz, u holda ma'lumotlar bazasi bilan ishlash ma'lumotlar bazalarini yaratish va shu ma'lumotlar bazasi foydalanuvchilaridan boshlash kerak. Vazifalar mohiyatan sodda va chiroyli, eng muhimi - ular konsoldan hal qilinadi. Xuddi shu nomdagi yordamchi dastur MySQL -server bilan ishlash uchun mo'ljallangan mysql, ish interaktiv rejimda amalga oshiriladi, shuning uchun avval serverga ulaning:

Mysql -u ildizi -p

Agar -u tugmachasi foydalanuvchi nomini o'rnatsa va -p parolni autentifikatsiyasini bildirsa, buyruq sintaksisi parolni kalitdan keyin darhol bo'sh joysiz kiritish orqali ko'rsatishga imkon beradi, lekin bu holda u buyruqlar tarixida saqlanadi. unchalik yaxshi emas, shuning uchun parolni interaktiv tarzda kiritish yaxshidir. Ushbu buyruqni bajarib, biz o'zgartirilgan buyruq irodasi ko'rsatganidek, MySQL muhitida bo'lamiz.

Bu muhitda ishlashning o'ziga xos xususiyatlari bor: har bir buyruq belgisi bilan tugashi kerak ; yoki \ g, aytmoqchi, tabrikning birinchi qatorida yozilgan. Ushbu rejimdan chiqish buyrug'i bilan amalga oshiriladi:

Darhol bitta keng tarqalgan xato: ular buyruq oxiriga nuqta -vergul qo'yishni unutib qo'yishdi. Nima qilish kerak? Yaxshi, keyingi satrda etishmayotgan belgilarni tugating.

Birinchidan, bazalar ro'yxatini ko'rib chiqaylik:

Ma'lumotlar bazalarini ko'rsatish;

Ular aytganidek, keraksiz tafsilotlarsiz, lekin ko'pchilik ma'muriy vazifalar uchun bu etarli:

Foydalanuvchilar ro'yxatini bilish biroz murakkabroq, u xizmatlar bazasi jadvali ko'rinishida saqlanadi mysql, shuning uchun biz kichik so'rov yozamiz:

Mysql.user -dan foydalanuvchi, hostni tanlang;

Buyruq tanlang belgilangan ustunlarni tanlaydi foydalanuvchi, xost, dan varianti ularni qaerdan tanlayotganimizni ko'rsatadi, ya'ni ma'lumotlar bazasining foydalanuvchi jadvalidan mysql.

Birinchi ustun foydalanuvchini bildiradi, ikkinchisi - uy egasi bu foydalanuvchi ruxsat berilgan ulanishlar, % - har qanday qiymatni bildiradi. E'tibor bering, agar Ivanov sozlamalarda mavjud mahalliy uy egasi, keyin ulanganda mysql manzil bo'yicha 127.0.0.1 u kira olmaydi, buni ilovalaringizda DBMS serveriga ulanish ma'lumotlarini ko'rsatganingizda hisobga olish kerak.

Siz ma'lumotlar bazasi egalarini quyidagi so'rov bilan ko'rishingiz mumkin:

Mysql.db -dan host, db, user -ni tanlang;

Bu erda maxsus izohlar talab qilinmaydi. Masalan, Ivanov prefiksli asoslar huquqiga ega shoxrux orqali ulanganda mahalliy uy egasi va Andrey prefiksli asoslarga shoxrux har qanday uy egasida. Siz buyruq yordamida foydalanuvchi imtiyozlarini ko'rishingiz mumkin:

"Ivanov" @ "localhost" uchun grantlarni ko'rsatish;

Biz foydalanuvchi nomi va xostni bitta tirnoq bilan o'rab olamiz.

Birinchi satrda ko'rsatilgan foydalanuvchining imtiyozlari yo'qligi aytilgan ( FOYDALANISH) har qanday bazaning istalgan jadvaliga ( *.* ), ikkinchi qatorda prefiksli barcha bazalarning barcha jadvallari uchun barcha asosiy imtiyozlar haqida aytilgan shoxrux.

MySQL huquqlari tizimining batafsil tahlili, aytaylik, bu maqola doirasidan tashqarida HAMMA PRIVELEGES foydalanuvchiga o'z ma'lumotlar bazalariga barcha huquqlarni beradi, lekin boshqa foydalanuvchilar uchun kirish huquqlarini boshqarishga ruxsat bermaydi. Buning uchun huquqlar to'plamidan foydalaniladi HAMMA PRIVELEGESGRANT OPTIONI BILAN sukut bo'yicha bor ildiz... Uchun oddiy foydalanuvchi bu huquqlar to'plami ortiqcha.

Keling, yangi foydalanuvchi yaratishga harakat qilaylik:

"Parol" bilan aniqlangan "petrov" @ "localhost" foydalanuvchisini yarating;

Buyruq sintaksisi oddiy, biz foydalanuvchi nomi va xost nomini, shuningdek parol ko'rinishidagi hisob ma'lumotlarini taqdim etamiz. O'tkazilgan barcha qiymatlar bitta tirnoq bilan o'ralgan. Foydalanuvchini yaratganingizdan so'ng, unga huquqlarni belgilashingiz kerak, bu buyruq bilan amalga oshiriladi GRANT... Birinchidan, biz uni boshqa odamlarning ma'lumotlar bazasi imtiyozlaridan mahrum qilamiz:

*. * "Petrov" @ "localhost" dan foydalanishga ruxsat bering;

Keyin biz huquqlarni o'z xohishiga ko'ra belgilashimiz mumkin, masalan, ma'lumotlar shabloniga ega bo'lgan ma'lumotlar bazalariga to'liq huquqlar berish azizbek:

"Petrov \ _%" bo'yicha barcha imtiyozlarni bering. * "Petrov" @ "localhost" ga;

Shuni esda tutingki, shablon ramzlar bilan o'ralgan bo'lishi kerak gravis (` ) ruscha Y harfi bilan kalitda joylashgan.

Siz alohida ma'lumotlar bazasiga bo'lgan huquqlarni quyidagicha berishingiz mumkin:

Andrey_drupal8 -dagi barcha imtiyozlarni bering. * "Petrov" @ "localhost" ga;

Huquqlarni tanlash uchun REVOKE buyrug'i ishlatiladi, unga o'xshash sintaksisi bor, faqat ga (kimga), biz uni almashtiramiz dan (kimda). Masalan:

Andrey_drupal8 -dagi barcha imtiyozlarni bekor qiling. * "Petrov" @ "localhost" dan;

MySQL -server huquqlarni qo'llashi uchun siz uni buyruq bilan imtiyoz keshini qayta yuklashga majbur qilishingiz kerak:

Yuvish imtiyozlari;

Shuningdek, foydalanuvchi parolini o'zgartirish kerak bo'lishi mumkin:

"Petrov" @ "localhost" = parol uchun parol o'rnating ("newpassword");

Uning nomini o'zgartiring va qayta nomlash, albatta, foydalanuvchi nomini o'zgartirishni anglatmaydi, siz istalgan kombinatsiyadagi ismni ham, xostni ham o'zgartirishingiz mumkin:

"Petrov" @ "localhost" foydalanuvchisini "petr" @ "127.0.0.1" ga o'zgartiring;

Nihoyat, hisobni o'chirib tashlang:

"Petr" @ "127.0.0.1" foydalanuvchisini qoldiring;

Keling, foydalanuvchilardan ma'lumotlar bazalariga o'tamiz, eng oddiy holatda, yangi ma'lumotlar bazasini yaratish uchun buyruq etarli:

Petrov_newdb ma'lumotlar bazasini yaratish;

Bu bilan ma'lumotlar bazasi yaratiladi kod sahifasi va standart taqqoslash kodlashi. Agar DBMS serveri alohida konfiguratsiya qilinmagan bo'lsa, demak, bu kodlash bo'ladi latin1_swedish_ci, ba'zi hollarda muammolarga olib kelishi mumkin, hozir bo'lmasa, kelajakda, shuning uchun ma'lumotlar bazasini yaratishda kodlashni aniq ko'rsatish yaxshi bo'ladi. UTF-8 uchun shunday bo'ladi:

Ma'lumotlar bazasini yaratish petrov_newdb standart belgilar to'plami utf8 collate utf8_general_ci;

Windows-1251 uchun:

Ma'lumotlar bazasini yaratish petrov_newdb standart belgilar to'plami cp1251 collate cp1251_general_ci;

Asosni olib tashlash uchun:

Petrov_newdb ma'lumotlar bazasini o'chirish;

MySQL ma'lumotlar bazasining xatolarini tekshirish, optimallashtirish, tuzatish

Kabi faol ish MySQL ma'lumotlar bazasi qismlarga bo'linishi va jadval ma'lumotlarida xatolarni o'z ichiga olishi mumkin. Biz hozir jiddiy muvaffaqiyatsizliklar haqida gapirmayapmiz, bunday vaziyatlarni alohida ko'rib chiqish kerak, lekin DBMSning o'zi yordamida muvaffaqiyatli bartaraf etilgan eng oddiy xatolar haqida. Mysqlcheck yordam dasturidan tekshirish, tuzatish va optimallashtirish uchun foydalanish qulay.

Ma'lumotlar bazasini tekshirish uchun qayerda bajaring shoxrux_official- tayanch nomi:

Mysqlcheck -u root -p -tekshiring andrey_drupal8

Barcha ma'lumotlar bazalarini bir vaqtning o'zida buyruq yordamida tekshirish mumkin:

Mysqlcheck -u root -p --check -barcha ma'lumotlar bazalarini tekshiring

Va butun chiqish ekranga to'g'ri kelmasligi uchun, uni buyruqqa yo'naltirish mantiqan Kamroq:

Mysqlcheck -u root -p --check -barcha ma'lumotlar bazalari | Kamroq

Eslab qoling Kamroq chiqishni o'qlar yordamida pastga va yuqoriga siljitish, matbuotdan chiqish imkonini beradi q.

Agar biron bir ma'lumotlar bazasida xatolar topilgan bo'lsa, ularni tuzatishga harakat qilish kerak, buning uchun quyidagilarni belgilang:

Mysqlcheck -u root -p -avtomatik ta'mirlash andrey_drupal8

Optimallashtirish uchun kalitdan foydalaning - -optimallashtirish, siz alohida bazani yoki bir nechtasini optimallashtirishingiz mumkin, buning uchun ularni kalitdan keyin ro'yxatga oling -ma'lumotlar bazalari:

Mysqlcheck -u root -p --optimize -ma'lumotlar bazalari andrey_drupal8 petrov_newdb

va hammasi birdaniga:

Mysqlcheck -u root -p --optimize -barcha ma'lumotlar bazalari

MySQL ma'lumotlar bazasi chiqindilarini tushirish va yuklash

Ma'lumotlar bazasi axlatxonalari har qanday MBTni boshqarishda yana bir keng tarqalgan vazifa - zaxiralash uchun ham, nusxalarni uzatish yoki yaratish uchun ham ishlatiladi. Agar zaxira- jarayon avtomatlashtirilgan, keyin boshqa serverga o'tkazish uchun yoki ma'lumotlar bazasi tuzilishiga jiddiy aralashuvdan oldin nusxalarini yaratish qo'lda bajarilishi kerak.

Va agar bu katta bazalar haqida bo'lsa, unda bu erda phpMyAdmin yomon yordamchi, skriptlarning bajarilish vaqtining chegaralari, yuklangan fayl hajmi, mavjud xotira va boshqalar. Agar siz hali ham u bilan katta chiqindini yuklay olsangiz, uni qayta yuklamasligingiz mumkin.

Chiqindilarni yaratish bilan boshlaylik, shu maqsadda yordamchi dastur ishlatiladi mysqldump sintaksisi sintaksis bilan bir xil mysqlcheck... Chiqindilarni tashlab yuborish uchun buyruqni ishlating:

Mysqldump -u root -p andrey_drupal8> ~ / drupal8.sql

Bir vaqtning o'zida bir nechta ma'lumotlar bazasini tushirish uchun kalitdan foydalaning -ma'lumotlar bazalari yoki -barcha ma'lumotlar bazalari bir vaqtning o'zida barcha ma'lumotlar bazasi chiqindisini yaratish. Buyruqning chiqishi faylga yuborilishi va uning joylashuvi ko'rsatilishi kerak, bizda bu fayl drupal8.sql uy katalogida. Siz shuningdek arxivga chiqishni o'tkazishingiz va arxivni darhol olishingiz mumkin:

Mysqldump -u ildizi -p andrey_drupal8 | gzip> ~ / drupal8.sql.gz

Umuman olganda, biz bir vaqtning o'zida bir nechta ma'lumotlar bazasi uchun bitta axlatxonadan foydalanishni tavsiya etmaymiz, eng yaxshi variant har bir ma'lumotlar bazasi uchun alohida dump bo'ladi, shu bilan birga kalit yordamida. -barcha ma'lumotlar bazalari Agar siz biron bir narsa noto'g'ri bo'lsa, ma'lumotlarni tezda tiklashingiz uchun, masalan, ma'lumotlar bazasini yangilash yoki qayta o'rnatishda, butun serverning zaxira nusxasini tezda zaxiralashingiz kerak bo'lgan holatlarda oqlanadi.

Ma'lumotlar bazasini tiklash uchun siz mysql yordam dasturining kirishiga damp yuborishingiz kerak, bitta chiqindilar uchun siz doimo qabul qiluvchilar bazasini ko'rsatishingiz kerak, masalan:

Mysql -u ildizi -p andrey_drupal8< ~/drupal8.sql

Maqsad manba bazasi bo'lishi shart emas, lekin shuni esda tutingki, agar baza allaqachon mavjud bo'lsa, uning barcha tarkibi axlatxona tarkibiga almashtiriladi.

Bir nechta ma'lumotlar bazasi bo'lgan axlatxonalar uchun quyidagilarni ko'rsatish kifoya:

Mysql -u ildizi -p< ~/all.sql

Bunday holda, har bir baza o'z manbasiga yuklanadi, agar manba bazasi bo'lmasa, u yaratiladi.

Ko'rib turganingizdek, buyruq satri yordamida axlat qutilarini yaratish va tiklash tom ma'noda bitta satrda sodir bo'ladi va phpMyAdmin yoki shunga o'xshash vositalarni ishlatishdan ko'ra ancha oson va tezroq.

Unutilgan MySQL root parolini tiklash

Yana bir mashhur sinov. Darhol aytaylik, boshqa foydalanuvchilar kabi MySQL superuser parolini tiklash mumkin emas, lekin siz uni o'zgartira olasiz. Buning uchun siz superuser huquqlariga ega bo'lishingiz kerak. operatsion tizim... Birinchidan, DBMS xizmatini to'xtatamiz:

MySQL xizmatini to'xtatish

Keyin biz uni ishga solamiz xavfsiz rejim imtiyozli jadvallarni chetlab o'tish:

Mysqld_safe-jadvallarni o'tkazib yuborish va

E'tibor bering, ushbu buyruq bajarilgandan so'ng, buyruq satri yo'qoladi va bitta miltillovchi kursor qoladi. Biz to'g'ridan -to'g'ri u erda yozamiz:

Mysql -u ildizi

va biz mysql muhitiga kiramiz ildiz sifatida parol kiritmasdan.

Bizningcha, ko'pchilik bundan keyin nima qilish kerakligini oldindan o'ylab topgandek tuyuladi parolni o'rnating bu rejimda u ishlamaydi, shuning uchun siz boshqa yo'l bilan borishingiz kerak. Shuni esda tutingki, foydalanuvchi ma'lumotlari jadvalda saqlanadi foydalanuvchi xizmatlar bazasi mysql... Keyin biz quyidagi so'rovni bajaramiz:

Mysql.user set password = password ("newpassword") ni yangilang, bu erda user = "root";

Muhim! MySQL -ning yangi versiyalarida ustun o'rniga parol jadvallar foydalanuvchi ishlatiladigan ustun autentifikatsiya_string, shuning uchun parolni o'rnating ko'rsatishi kerak autentifikatsiya_stringini o'rnating.

Bu so'rov o'rnatiladi Yangi parol Yangi Parol ustunning barcha qatorlari uchun foydalanuvchi ro'yxatga olingan ildiz.

Keling, imtiyozli keshni yangilaymiz:

Yuvish imtiyozlari;

Biz rejimdan chiqamiz:

Xizmatni to'xtating va odatdagidek ishga tushiring:

MySQL xizmatini to'xtatish
mysql xizmatining boshlanishi

Umid qilamizki, ushbu maqolani o'qib bo'lgach, siz buyruq satridan MySQL bilan ishlashning dastlabki ko'nikmalariga ega bo'lasiz va phpMyAdmin mavjud bo'lmaganda ham o'zingizni ishonchli his qilasiz va hatto qulaylikni qadrlaysiz. konsol buyruqlari va siz panelga kamroq va kamroq kirasiz, to'g'ridan -to'g'ri serverni boshqarishni afzal ko'rasiz.