MySQL-in Windows-da əl ilə quraşdırılması. MySQL İdarəetmə Əsasları Komanda Xəttindən İstifadə MySQL serverinin komanda xəttindən dayandırılması




Win 32 üçün paylamanı seçin: Windows (x86, 32-bit), Zip-Arxiv.

Win 64 üçün: Windows (x86, 64-bit), Zip-Arxiv.

Yükləmə düyməsini kliklədikdən sonra qeydiyyat formasını görəcəksiniz, aşağıdakı linkə klikləməklə onu atlaya bilərsiniz – Xeyr, təşəkkür edirəm, məni yükləmələrə aparın.

2. Quraşdırma qovluğu yaradın. Misal üçün . Və arxivin məzmununu onun içinə açın ki, qovluqlar bin, data, sənədlər və s quraşdırma qovluğunun kökündə idi.

3. Konfiqurasiya faylının (my.ini) yaradılmasına keçək. Standart fayllardan birini əsas götürürük:

  • my-small.ini – vaxtaşırı MySQL-dən istifadə edən və serverin çoxlu resurs tutmasını istəməyənlər üçün uyğundur.
  • my-medium.ini də az resurslu konfiqurasiyadır, lakin MySQL-dən müntəzəm istifadə edənlər üçün uyğundur (ev veb serveri üçün yaxşı seçimdir).
  • my-large.ini və my-huge.ini – xüsusi MySQL serveri kimi istifadə olunan sistemlər üçün. Bununla belə, əlavə MySQL performansına ehtiyacınız varsa, my-large.ini ev serveri üçün istifadə edilə bilər (bu günlərdə 512 MB RAM o qədər də çox deyil).
  • my-innodb-heavy-4G – ən azı 4 GB operativ yaddaşa malik və yalnız InnoDB cədvəllərindən istifadə edən xüsusi serverlər üçün.

Bu nümunədə mən əsas olaraq my-medium.ini seçdim. Onun adını my.ini olaraq dəyişdirin və quraşdırma qovluğunun kökünə yerləşdirin ( C:\Program Files\MySQL\MySQL Server 5.5).

Redaktə üçün açın (adi Notepad-da) və sətirdən dərhal sonra iki parametr əlavə edin:

Basedir=C:/Proqram Faylları/MySQL/MySQL Server 5.5 datadir=C:/Proqram Faylları/MySQL/MySQL Server 5.5/data

Nəzərə alın ki, yollar tərs kəsiklərdən (\) deyil, irəli əyilmədən (/) istifadə edir.

basedir quraşdırma qovluğuna gedən yoldur.

datadir – məlumat qovluğuna gedən yol (bütün verilənlər bazalarının saxlandığı yer). Bəzən performansı yaxşılaşdırmaq və ya etibarlılığı təmin etmək üçün məlumatları ayrı bir diskə yerləşdirmək mənasızdır.

Hər halda, dəyişikliklər etdikdən sonra konfiqurasiya faylının bir parçası budur:

# MySQL server bazadir=C:/Proqram Faylları/MySQL/MySQL Server 5.5 datadir=C:/Proqram Faylları/MySQL/MySQL Server 5.5/məlumat portu = 3306 yuva = /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. Növbəti addım yolu əlavə etməkdir C:\Program Files\MySQL\MySQL Server 5.5\bin MySQL-i komanda xəttindən işə salmağı asanlaşdırmaq üçün PATH mühit dəyişəninə. Bunu etmək üçün Sistem Xüsusiyyətləri -> Əlavə sistem parametrləri -> Qabaqcıl sekmesinde, ən altındakı “Ətraf mühit Dəyişənləri...” düyməsini açın. Açılan pəncərədə Path tapana qədər sistem dəyişənləri arasında sürüşdürün. Bu xətti seçin və "Dəyişdir..." düyməsini basın. Xəttin sonunda mövcud parametrləri qoruyaraq yolumuzu əlavə edirik:

Qeyd edək ki, yollar nöqtəli vergüllə ayrılır. Yolunuzun əvvəlində və sonunda nöqtəli vergülün olduğundan əmin olun.

5. Sınaq işə başlamazdan əvvəl, Windows Firewall-da daxil olan TCP 3306 portunu açın:


Sisteminizdə əlavə firewall quraşdırılıbsa, daxil olan əlaqələr üçün 3306 TCP portunu da açmalısınız.

6. İndi bir sınaq qaçışı həyata keçiririk. Administrator olaraq işə salınan əmr satırında (UAC Seven və ya Vista-da aktivdirsə bu tələb olunur), işlədin:

Mysqld --konsol

Ekranda bir neçə sətir görünəcək. Başlatma uğurlu olarsa, son sətir belə görünəcək:

Versiya: "5.5.9-log" soket: "" port: 3306 MySQL İcma Serveri (GPL)

Bu pəncərəni açıq qoyun və daxil olduğumuz başqa bir əmr satırı pəncərəsini açın:

Mysql -u kökü

Bağlantı uğurlu olarsa, əmr sorğusunu görəcəksiniz: mysql>

Gəlin görək hansı verilənlər bazamız var:

Verilənlər bazalarını göstərin;

SQL sorğusunun sonundakı nöqtəli vergül MƏCBURDUR!

Komandanın cavabı:


İndi nəhayət serverin işlədiyinə əmin olduq.

7. Növbəti addıma keçək - MySQL administrator parolunu (root user) təyin etməlisiniz. Varsayılan olaraq parol təyin edilməyib və bu düzəldilməlidir. Eyni MySQL pəncərəsində aşağıdakı əmrləri daxil edin:

mysql YENİLƏNİB istifadəçi SET parolundan istifadə edin = PASSWORD("your_password") WHERE user = "root";

Nəticəni yoxlayaq:

İstifadəçi, host, parolu istifadəçidən SEÇİN;

Ekran görüntüsündə gördüyünüz kimi, parol sütunu doldurulur, yəni parol təyin edilmişdir.

Çıxmazdan əvvəl əmri işlədin:

FLUSH İMTİYAZLARI;

İndi qoşulduqda parol daxil etməlisiniz. Bunu etmək üçün -p keçidindən istifadə edin:

Mysql -u root -p

MySQL proqramını bağlamaq üçün:

Mysqladmin -u root -p bağlanması

8. Son addım MySQL-i Windows sistemi xidməti kimi işə salmaqdır.

Sistemdə aktiv MySQL prosesi olmadığından əmin olun.

Administrator olaraq işləyən əmr satırında çalıştırın:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --quraşdırın

mysqld-ə gedən yol tam göstərilməlidir (hətta PATH-də qeyd olunsa belə)!

Xidmətə başlamaq üçün “Kompüter İdarəetmə” bölməsini açın və MySQL xidmətini əl ilə işə salın:


Və ya əmr xətti ilə daha asan:

Net start mysql

Xidməti silmək üçün əvvəlcə onu dayandırın:

Net stop mysql

və icra edin:

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

Dostlarım tez-tez mənə administrasiya ilə bağlı müəyyən suallar verirlər və mən də fikirləşirdim ki, niyə eyni şeyi 100 dəfə izah etmək əvəzinə saytda belə məqalə-qeydlər yazmayaq? Bundan əlavə, bu, lazım gələrsə, belə bir qeyddən özünüz istifadə etmək üçün əla fürsətdir, çünki özünüz bilirsiniz ki, bəzən hər şeyi başınızda saxlamaq mümkün deyil və bu və ya digər şəkildə bəzən bir arayış kitabına müraciət etməlisiniz, ona görə də bu saytın bölmələrindən biri belə kitaba çevrilsin. Bu gün biz MySQL DBMS ilə komanda xəttindən necə işləmək barədə danışacağıq, bəli, kimsə deyəcək - “Hansı? Axı, phpMyAdmin var,” deyə cavab verirəm – əgər eyni şeyi etibarlı, sübut edilmiş alətlərlə asanlıqla etmək olarsa, nəyə görə qiymətli server resurslarını WebMin, phpMyAdmin və s. Terminaldan SSH tuneli vasitəsilə quraşdırma bizim seçimimizdir!

Yaxşı, başlayaq. Biz serverə SSH vasitəsilə, məsələn, tanınmış PuTTY (A Free Telnet/SSH Client) vasitəsilə qoşuluruq. İndi isə komandaların təsvirinə keçək.

MySQL proqramından istifadə edərək MySQL serverinə daxil olun:

mysql -u root -h localhost -p

-u seçimi daxil olmaq üçün istifadəçini təyin edir. -h seçimi hostu təyin edir. Uzaqdan olmayan bir server quraşdırırsınızsa, bu adətən localhostdur. Nəhayət, -p mysql müştəri proqramına verilənlər bazasına daxil olmaq üçün parolun daxil ediləcəyini bildirir. mysql> sorğusuna diqqət yetirin. Bura bütün əmrlərinizi daxil edəcəksiniz. Artıq kök istifadəçi kimi mysql mühitindəyik, verilənlər bazasını qurmağa başlaya bilərik.

Daxil olduq və ekranda mysql sorğusu göründü. Əvvəlcə mövcud verilənlər bazalarının siyahısına nəzər salaq. Bunun üçün SHOW DATABASES əmrini daxil edin.

Cavab aydın olur ki, əmr heç bir səhvsiz yerinə yetirilib. Bu vəziyyətdə bir xətt dəyişdi. Bu, bütün verilənlər bazalarının siyahısını ehtiva edən əsas MySQL verilənlər bazasına aiddir. Ancaq xırda detallar üçün çox narahat olmaq lazım deyil. Son rəqəm sorğunun icra müddətini göstərir. SHOW DATABASES əmrini yenidən işlətməklə verilənlər bazasının yaradıldığını yoxlaya bilərik.

Yeni test verilənlər bazasında cədvəllər yaratmağa başlamaq üçün onu cari olaraq təyin etməliyik. Bunu etmək üçün USE əmrindən istifadə edin. Bu əmrin parametri cari hala gətirilməli olan verilənlər bazasının adını müəyyən edir. Siz həmçinin -D parametrindən sonra adını göstərərək cari verilənlər bazasını komanda xəttinə quraşdıra bilərsiniz. Gəlin davam edək və test bazasına keçək.
Məlumat bazası keçidi:

İSTİFADƏ testi;

MySQL-də imtiyazlar

Komanda tərəfindən imtiyazların verilməsi Qrant.
İmtiyazlar istifadəçinin verilənlər bazasına, cədvəllərə... demək olar ki, hər şeyə daxil olmaq qabiliyyətini müəyyən edir. Hazırda yalnız MySQL kök super istifadəçisi bu icazələrə uyğun olaraq test verilənlər bazasına daxil ola bilər. Test bazasına daxil olacaq və ondan məlumatlarla işləyəcək başqa bir istifadəçi, məsələn, admin yaradaq. Ancaq başlamazdan əvvəl GRANT əmrinin bir qədər sadələşdirilmiş formatına nəzər salaq.

Qeyd: GRANT əmri istifadəçi yaratmaq üsulu hesab olunur. MySQL-in sonrakı versiyalarında CREATE_USER funksiyası da var, baxmayaraq ki, GRANT hələ də üstünlük təşkil edir.
İndi bizə təyin edilə bilən imtiyazlar lazımdır. Yuxarıda göstərilənlərin hamısından istifadə edərək, aşağıdakı imtiyazları təyin edə bilərsiniz:

Qeyd Qeyd: Əgər siz veb tətbiqi ilə əlaqə saxlamaq üçün MySQL-dən istifadə edirsinizsə, burada izah edilən YARAT, SEÇ, INSERT imtiyazları, həmçinin SİL və YENİLƏMƏ imtiyazları (MySQL təlimatında, GRANT və REVOKE Sintaksis bölməsində təsvir edilmişdir) yalnız bunlardır. yəqin ki, tələb olunacaq. Bir çox insanlar həqiqətən lazım olmadığı zaman bütün imtiyazları verməklə səhv edirlər. Bu cür icazələrin həqiqətən əməliyyat problemlərinə səbəb olub-olmadığını öyrənmək üçün proqram tərtibatçıları ilə əlaqə saxlayın.

İdarəçi istifadəçinin yaradılması:

Beləliklə, istifadəçilər yaradılır; İndi onları sınaqdan keçirək. Əvvəlcə, əmrdə quit yazaraq mysql-dən çıxaq:

Seçimlər GRANT əmri bölməsində izah olunur. İndi biz istifadəçiyə istənilən növ girişdən imtina edəcəyik. Deyək ki, admin hesabının təhlükəsizlik problemlərinə səbəb olduğunu öyrəndik. Biz bütün hüquqları ləğv etmək qərarına gəlirik. Kök olaraq daxil oluruq və lazım olanı edirik.
Admin istifadəçisi üçün icazələrin ləğvi:

HAMISI testi LƏĞV EDİN.* FROM "admin" @"localhost" ;

Qeyd: Bu halda istifadəçi girişi sadədir, ona görə də bir verilənlər bazasına hüquqların ləğvi problem deyil. Amma ümumiyyətlə, istifadəçinin eyni zamanda bütün digər verilənlər bazalarına girişini ləğv etmək üçün test.* əvəzinə *.* istifadə etmək istəyəcəksiniz.

İndi isə DELETE əmrindən istifadə edərək hesabın tamamilə silinməsinə və MySQL istifadəçi cədvəlinə nəzər salaq.

Komanda ilə hesabların silinməsi SİLİN.
MySQL istifadəçi cədvəli istifadəçilərin və onların məlumatlarının siyahısıdır. Kök kimi daxil olduğunuzdan əmin olun. Əsas MySQL verilənlər bazasından istifadə edin.

Əsas mysql verilənlər bazasından istifadə:

İstifadəçi cədvəli sizə lazım olan şeydir. 30 müxtəlif sahəyə malikdir və oxunması çətindir. Oxumağı asanlaşdırmaq üçün SELECT əmrinin üçüncü formasından istifadə edirik. Axtardığınız sahələr Host və İstifadəçidir.
İstifadəçi cədvəlində admin istifadəçinin tapılması:

İndi məlumat əldə etdikdən sonra admin istifadəçisindən qurtula bilərik. Bu, DELETE əmri ilə edilir; onun sintaksisi budur:

SİL formatının SELECT formatına bir qədər bənzədiyini fərq etmiş ola bilərsiniz. İstifadəçi sahəsini və admin dəyərini təyin edək. Bu, istifadəçinin admin olduğu istifadəçi cədvəlindən girişi silərək hesabımızı siləcək. Gəlin, bunu edək:
İdarəçi istifadəçinin silinməsi:

İcazələri yeniləmək üçün FLUSH PRIVILEGES əmri lazımdır.

Bu gün üçün hamısı budur. Razılaşın, sadədir! ;)

Gününüz xeyir, həmkarlar :)

Bəli, tam olaraq həmkarlar, çünki sadəcə bir ölümcül üçün MySQL əmr xəttinin (və ya tərtibatçıların da adlandırmaq istədiyi MySQL Shell), eləcə də konsolda MySQL ilə işləmək çətin ki, faydalı olsun.

Bu mövzunun maraqlı olması üçün siz ən azı phpMyAdmin və digər interfeyslərdən prinsipcə istifadə etməyən naşı sistem administratoru olmalısınız.

Şəxsən mən özüm MySQL ilə işləmək üçün phpMyAdmin-dən əsas istifadə etməyi üstün tuturam, çünki... Mən təbiətcə vizual insanam. Bununla belə, bəzən praktikada MySQL komanda xəttini bilmək və server konsolunda MySQL ilə işləmək bacarığının sadəcə zəruri olduğu vəziyyətlər olur.

Hazırda onlardan üçü var:

  1. MySQL konsolunda işləyərkən ilk dəfə böyük verilənlər bazası zibilini idxal etməli olduğum zaman qarşılaşdım. O, tam olaraq phpMyAdmin vasitəsilə yüklənməyib, çünki... əməliyyatın icra müddəti və yüklənmiş faylların ölçüsü üçün parametrlərin dəyişdirilməsinə baxmayaraq, fasilə səbəbiylə ortada bir yerə düşdü. Prinsipcə, lazımi dəyərləri seçmək mümkün idi, amma mənə çox uzun proses kimi göründü.
  2. Növbəti dəfə MySQL ilə komanda xətti ilə işləməli oldum, açarlardan istifadə edərək başqaları ilə əlaqələndirilmiş cədvəldən məlumatları silmək lazım gələndə xarici açarların yoxlanmasını deaktiv etmək idi. Bunu phpMyAdmin-də necə edəcəyimi sadəcə tapa bilmədim.
  3. Ciddi şirkətlər heç bir phpMyAdmins olmadan MySQL ilə işləmək üçün yalnız konsoldan istifadə edirlər. Səbəbini dəqiq bilmirəm, amma məlumatlı insanlar bunun təhlükəsizliklə əlaqəli olduğunu söylədi. Nəticədə hər kəs MySQL komanda xətti ilə işləməli oldu, o cümlədən mən :)

Ancaq yenə də konsolda və komanda xəttində MySQL ilə işləmək gündəlik istifadə üçün olduqca uyğundur. Verilənlər bazası ilə işləmək üçün bütün məlum vizual proqramlar hələ də MySQL konsol əmrləri əsasında işləyir. Ona görə də istədiyiniz kimi :)

Konsolu müxtəlif OS-lərdə işə salmaq

Server konsolunda MySQL komanda xətti ilə işləməyi nümayiş etdirəcəyim üçün əvvəlcə onu işə salmaq yaxşı olardı.

Fəaliyyət sadədir, çoxlarına tanışdır, bunun üçün "isti düymələr" haqqında bilik kifayətdir.

Windows-da konsolun işə salınması:

  • Administrator hüquqları ilə Windows əmr satırını açmaq üçün Win+R;
  • Komandanı daxil edin cmd
  • basın Daxil edin klaviaturada

Linux paylamalarında konsolun işə salınması (terminal): işlədiyim Ubuntu-da sistem düymələri kombinasiyası kifayətdir Ctrl+Alt+T. Digər Linux əsaslı əməliyyat sistemləri haqqında heç nə deyə bilmərəm.

MacOS-da konsolun işə salınması: Bunu mən özüm etməmişəm, çünki... Mən hələ Mac almamışam və çətin ki, onu ala biləcəm, çünki ona ehtiyacım yoxdur, amma bildiyimə görə, bu OS-də terminala zəng etmək üçün “isti düymələr” yoxdur. Beləliklə, əgər siz Apple məhsullarının istifadəçisiysinizsə, onda konsolu OS interfeysi vasitəsilə işə salın, xoşbəxtlikdən İnternetdə çoxlu təlimatlar var.

Böyük təcrübəyə malik hansısa peşəkar sistem inzibatçısı təsadüfən bu məqalə ilə rastlaşarsa, belə məlumatı dərc etmək bir az utancvericidir, çünki düşünəcək: “Müəllif oxucularını proqramçı hesab edir, eyni zamanda konsolu işə salmağı öyrədir... Bir növ psixoloji :-).”

Bəli, olduqca məntiqlidir :) Ancaq mən sadəcə olaraq, peşəkar tərtibatçılarla yanaşı, yeni başlayanların da buraya gələ biləcəyi vəziyyəti nəzərə alıram. Buna görə də, artıq qeyd etdiyim kimi, məlumatları tam və bütün kateqoriyalı istifadəçilər üçün əlçatan etməyə çalışıram.

Əsas MySQL Konsol Əmrləri

Beləliklə, ilk növbədə konsolda MySQL komanda xəttinə daxil olmalıyıq. Bunu etmək üçün server konsolunu açın və əgər MySQL qlobal olaraq xidmət kimi quraşdırılıbsa, “bağlantıyı yoxlamaq” üçün aşağıdakıları yazırıq:

Mysql -V

Konsol əmri mysql MySQL komanda xətti olan eyni adlı yardım proqramını işə salmağa imkan verir.

Bu, kompüterdə quraşdırılmış MySQL versiyasını öyrənməyə və onun ümumiyyətlə xidmət kimi quraşdırıldığından əmin olmağa imkan verəcəkdir. Əgər belədirsə, onda siz konsolda aşağıdakı mətnə ​​bənzər bir şey görəcəksiniz: .

Bəli, mən "dəli kodlayıcı" deyiləm, çünki Windows istifadə edirəm :) Amma məsələ bu deyil. Unix sistemlərində prosedur eyni olacaq.

Birdən MySQL kompüterinizdə qlobal olaraq quraşdırılmayıbsa və ya MySQL-in yalnız MySQL faylları və kitabxanaları olan qovluqların olduğu bir neçə versiyası ilə işləmək lazımdırsa, MySQL-i konsol vasitəsilə işə salmaq belə görünür.

Konsolda, MySQL icra edilə bilən faylının yerləşdiyi qovluğa (Windows-da, ən azı mysql.exe-dir) aşağıdakı əmrlə gedin:

CD C:\OpenServer\modullar\database\MySQL-5.7-x64\bin

Təbii ki, paylamaya gedən yolunuz fərqli ola bilər. Nümunə olaraq, OpenServer-ə daxil olan MySQL versiyalarından birini işə salmaq qərarına gəldim.

Və biz MySQL-i işə salırıq, onun versiyasını yol boyu yoxlayırıq:

Mysql.exe -V

Nəticədə, konsolda birinci vəziyyətə bənzər bir mesaj göstərilməli idi mysql Ver 14.14 Distrib 5.7.16, Win64 (x86_64) üçün.

Budur, biz MySQL-i komanda xəttindən server konsolu vasitəsilə işə saldıq, indi birbaşa MySQL serverinə qoşulacağıq.

Konsolda MySQL serverinə qoşulma

MySQL serveri mütləq konsolda ona daxil olmağa çalışdığınız eyni maşında olmaya bilər. Buna görə də, uzaq MySQL serverinə konsol vasitəsilə qoşulmağı mümkün etmək üçün mysql yardım proqramında lazımi parametrləri təyin edə biləcəyiniz bir çox parametr var.

Konsolda MySQL komanda xəttini işə salmaq üçün sadəcə server konsolunda aşağıdakıları yazmalıyıq:

Lakin, bu halda siz aşağıdakı xətanı alacaqsınız: XƏTƏ 1045 (28000): ‘ODBC’@’localhost’ istifadəçisi üçün giriş rədd edildi (paroldan istifadə etməklə: NO). Səhv mesajı Windows-da belə görünür. Əgər siz Linux istifadə edirsinizsə, onda ODBC əvəzinə sistemdə hərəkətlər etdiyiniz sistem istifadəçinizin adı olacaq.

Bütün bunlar ona görədir ki, standart olaraq MySQL serverinə qoşulduqda konsol Windows-da ODBC istifadəçisini parolsuz, Linux-da isə sistem istifadəçisini eyni parolla istifadə edir. Varsayılan host localhost-dur, yəni. Bu istifadəçi yalnız yerli maşından qoşula bilər.

Beləliklə, iki seçiminiz var: ya MySQL komanda xəttinə daxil olmaq üçün başqa istifadəçidən istifadə edin, ya da tələb olunan hesabla MySQL istifadəçisi yaradın. Ancaq ikinci üsul üçün hələ də birincisi olmadan edə bilmərik :) Buna görə əvvəlcə standart istifadəçi altında MySQL serverinə qoşuluruq. kök, MySQL-i kompüterə quraşdırarkən yaradılan və standart olaraq localhost-dan girişə icazə verilən:

Mysql -u root -p

Şifrə daxil etmək tələb olunduqda, sadəcə Enter düyməsini basın (əgər daxil etməmisinizsə, əlbəttə ki, MySQL-i quraşdırarkən). Daha sonra siz MySQL serverinə qoşulacaqsınız, əlaqə identifikatoru təyin ediləcək və MySQL komanda xəttinə giriş əldə edəcəksiniz.

Xüsusi host adı və ya IP olan MySQL serverinə qoşulmaq və ya fərqli istifadəçi kimi daxil olmaq istəyirsinizsə, aşağıdakı formatda əmrdən istifadə edin:

MySQL -u user_name -p user_password -h MySQL_server_host_or_IP

Alt xəttli kiril hərfləri əvəzinə, əlbəttə ki, məlumatlarınızı Latın hərfləri ilə daxil etməlisiniz. Yeri gəlmişkən, istəsəniz, bu əmri bir az fərqli formatda yaza bilərsiniz:

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

Əgər nədənsə MySQL bağlantı parolunuzun konsolda görünməsini istəmirsinizsə (bu, əslində düzgündür), aşağıdakı əmrdən istifadə edə bilərsiniz:

Mysql -u user_name -h host_or_IP_MySQL_server -p

Parol açıq şəkildə göstərilmədiyi üçün sizdən növbəti addımda onu daxil etməyiniz xahiş olunacaq. Üstəlik, daxil etdiyiniz simvollar hətta ulduz (joker simvol) şəklində də göstərilməyəcək, bunun əvəzinə sadəcə boş sətir olacaq.

Göstərilən əlaqə parametrlərinə əlavə olaraq, dəyərləri yuxarıda sadalananlara bənzər şəkildə göstəriləcək aşağıdakı parametrlərdən istifadə etmək mümkündür:

  1. --port və ya -P - MySQL serverinə qoşulmaq üçün portu təyin etmək;
  2. —protokol — əlaqənin həyata keçiriləcəyi protokol (mümkün variantlar: Windows və Linux üçün TCP, Linux üçün SOCKET, Windows üçün PIPE və MEMORY);
  3. --socket və ya -S - bu parametr rozetkalar vasitəsilə qoşulmaq istəyirsinizsə faydalıdır, buna görə də parametrin dəyəri socket olacaq;
  4. --pipe və ya -W - qoşulma üçün adlandırılmış "boru kəmərləri" və ya "borular" istifadə etmək istəyirsinizsə, parametr lazımdır;
  5. --shared-memory-base-name - bu parametr Windows-da paylaşılan yaddaş vasitəsilə MEMORY əlaqələri üçün faydalı olacaq;

Aydındır ki, MySQL serverinə qoşulmaq üçün bütün parametrlərin siyahısı bununla məhdudlaşmır. Əslində onlardan daha çoxu var.

Əgər nədənsə host, istifadəçi və şifrəni göstərən standart seçim sizə uyğun gəlmirsə, onda əlaqə parametrlərinin tam siyahısını öyrənmək üçün aşağıdakı məlumat sizin üçün faydalı olacaq - https://dev.mysql.com/doc/ refman/5.7/az/ connecting.html

MySQL konsolunda verilənlər bazası necə yaradılır

MySQL serverinə qoşulduqdan və MySQL komanda xəttini işə saldıqdan sonra saytımızın verilənlər bazasının onun yaradılması ilə başlayan həyat dövrünə başlamağın vaxtıdır. Komanda xətti vasitəsilə MySQL verilənlər bazası yaratmaq üçün aşağıdakı əmri daxil etməlisiniz:

VERİLƏNLƏR BAZASI YARATIN verilənlər bazası_adı;

Eyni hərəkət xüsusi MySQL yardım proqramından istifadə etməklə edilə bilər mysqladmin. MySQL komanda xəttindən təcrid olunmuş şəkildə işləyir, yəni. Onu istifadə etmək üçün ondan çıxmalı və ya yeni server konsolu açmalısınız.

Və sonra aşağıdakı əmri çağırın:

mysqladmin verilənlər bazası_adı yaradın;

Yeri gəlmişkən, mysqladmin yardım proqramından istifadə etməklə siz MySQL konsoluna daxil olmadan nəinki verilənlər bazası yarada və silə bilərsiniz, həm də server konfiqurasiyasını, MySQL proseslərini idarə edə, replikasiyaları, ping serverlərini idarə edə və bir çox başqa maraqlı işlər görə bilərsiniz.

Komanda xəttində MySQL istifadəçisini necə yaratmaq olar

Tez-tez deyil, lakin bəzən yeni MySQL istifadəçisi yaratmalısınız. Üstəlik, konsol rejimində.

MySQL komanda xəttində bu aşağıdakı kimi edilir:

İSTİFADƏÇİ YARADIN "user_name"@"host_or_machine_IP" "user_password" TARAFINDAN TƏYİD EDİLƏN;

İstifadəçi yaradılıb. Parametr host_və ya_IP_maşın o deməkdir ki, istifadəçi yaratarkən onun serverə qoşula biləcəyi IP-ni və ya host adını (şəbəkədəki işləyən maşının domen adı uyğun gəlir) göstərməlisiniz.

Yeri gəlmişkən, MySQL serverinə qoşulmaq üçün hostu təyin edərkən faiz simvolundan istifadə edə bilərsiniz - % , bu o deməkdir ki, yaradılmış istifadəçi istənilən IP ünvanından və ya hostdan MySQL serverinə qoşula bilər.

Nəzərə almaq lazımdır ki, bu halda localhost % istifadə edərək göstərilən ünvanlar siyahısına daxil edilmir, çünki localhost standart TCP/IP əvəzinə UNIX yuvası vasitəsilə əlaqəni bildirir. Bunlar. Yaradılmış MySQL istifadəçisi serverə rozetkalardan deyil, konsolda MySQL serverinə qoşulduqda göstərilən fərqli protokoldan istifadə etməklə qoşulacaqsa, o zaman iki istifadəçi hesabı yaratmalı olacaq:

İSTİFADƏÇİ YARADIN "username"@"%" "parol" İLƏ TƏYİD EDİLƏN; İSTİFADƏÇİ YARADIN "username"@"localhost" "parol" İLƏ TƏYİD EDİLƏN;

Konsolda MySQL istifadəçisinin necə yaradılacağını anladıq. İndi isə aşağıdakı əmrlə yeni yaradılmış verilənlər bazamızla istənilən hərəkəti yerinə yetirmək üçün istifadəçi hüquqlarını təyin edək:

verilənlər bazası_adı ÜZRƏ BÜTÜN İMTİYAZLARI VERİN.* "user_name"@"host_or_machine_IP";

Seçim HAMISI, başa düşdüyünüz kimi, sadəcə istifadəçiyə müəyyən bir verilənlər bazası ilə hər hansı bir hərəkətə icazə verildiyini göstərir. Komandadan istifadə edərək istifadəçilərə verilə biləcək hüquqların tam siyahısı Qrant, burada tapa bilərsiniz (parametrlərin təsviri ingilis dilində olsa da) - https://dev.mysql.com/doc/refman/5.7/en/grant.html#grant-privileges

Yeri gəlmişkən, vergüllə ayrılmış əmri çağırarkən onları göstərərək bir neçə imtiyaz parametrlərindən istifadə edə bilərsiniz.

Bir super istifadəçi yaratmaq istəyirsinizsə, i.e. serverdəki bütün verilənlər bazaları ilə müxtəlif hərəkətləri yerinə yetirmək üçün qlobal imtiyazlara malikdir, sonra aşağıdakı əmr çağırışından istifadə edin:

HƏMİNƏ VERİN *.* "user_name"@"host_or_machine_IP";

Yeri gəlmişkən, imtiyazları təyin etdikdən sonra MySQL server keşini təmizləmək yaxşı olardı. Onları dəyişdirsəniz, aşağıdakı əmri çağıraraq bunu etməyi unutmayın:

FLUSH İMTİYAZLARI;

İstifadəçi hüquqlarını dəyişdirmək istəyirsinizsə, əvvəlcə bütün hüquqları sıfırlamaq üçün aşağıdakı əmrdən istifadə edin:

"user_name"@"host_or_machine_IP"-dən *.* BÜTÜN İMTİYAZLARI LƏĞV EDİN;

Və sonra istifadə etməsi lazım olanları quraşdırın Qrant, əvvəllər təsvir edildiyi kimi.

Gələcəkdə MySQL istifadəçi parolunu dəyişdirmək lazımdırsa, bunu etmək üçün MySQL Shell-də aşağıdakı əmrləri yerinə yetirmək kifayətdir:

SET PASSWORD FOR "user_name"@"host_or_machine_IP" = PASSWORD("yeni_parol"); FLUSH İMTİYAZLARI;

MySQL server imtiyaz keshinin sıfırlanması hüquqların dəyişdirilməsi ilə eyni məqsəd üçün lazımdır - bu hərəkət olmadan MySQL istifadəçi parolunun dəyişdirilməsi sayıla bilməz, ona görə də istifadə etmək üçün tənbəl olmayın :)

Yeri gəlmişkən, İnternet istifadəçinin MySQL parolunu sıfırlamaq üçün aşağıdakı əmrdən istifadə nümunələri ilə doludur:

YENİLƏNİB mysql.user SET Parol=PAROL("parol") HARADA İstifadəçi="istifadəçi adı";

Lakin bu seçim MySQL 5.7-də mənim üçün işləmədi, xəta verdi XƏTƏ 1054 (42S22): "Sahə siyahısında" naməlum sütun "Parol". Səbəb mysql.user cədvəlində Parol sahəsinin olmaması olub.

Buradan güman edə bilərik ki, bu seçim yalnız istifadəçi cədvəlində bu sahənin mövcud olduğu MySQL-in köhnə versiyaları üçün işləyir. Buna görə də, əmin olmaq üçün, əlbəttə ki, versiyaları yeniləmək imkanı olmadan antidiluvian proqram təminatı ilə işləmək məcburiyyətində qalmadığınız halda, mənim birinci seçimimdən istifadə edin :)

Bu, yeni MySQL istifadəçisinin yaradılmasını və onun hüquqları və parolları ilə hərəkətlərin nəzərdən keçirilməsini tamamlayır. Gəlin davam edək.

Komanda xətti vasitəsilə MySQL ilə işləyərkən verilənlər bazasının seçilməsi

İndi MySQL Shell-də istifadəçi yaratdıqdan və ona verilənlər bazası ilə işləmək hüququnu təyin etdikdən sonra biz elə bu verilənlər bazasını seçməliyik ki, verilənlər bazası özü və orada saxlanılan verilənlərlə işləyə bilək.

Bunu etmək üçün MySQL konsolunda aşağıdakı əmrdən istifadə edin:

verilənlər bazası_adından istifadə edin;

Hər şey qaydasındadırsa, konsolda bir mesaj görünəcək Verilənlər bazası dəyişdirildi, bu, konsol vasitəsilə MySQL verilənlər bazasına daxil olduğumuzu bildirəcək. Yeri gəlmişkən, MySQL serverinə qoşulduqda əvvəlcə işləməli olduğunuz verilənlər bazasını təyin edə bilərsiniz. Bunu etmək üçün server konsolunda aşağıdakı əmri daxil etməlisiniz:

Mysql --user=user_name --password=user_password --host=MySQL_server_host_or_IP --database=database_name

Və ya eyni şey, yalnız MySQL istifadəçi parolunu istəmək:

mysql -u istifadəçi_adı -h host_və ya_IP_MySQL_server_database_name -p

Hamısı budur. Düşünürəm ki, indi konsol vasitəsilə MySQL verilənlər bazasına qoşulmaqda çətinlik çəkməyəcəksiniz :)

MySQL konsolu vasitəsilə MySQL cədvəlləri ilə işləmək

Beləliklə, konsol vasitəsilə MySQL verilənlər bazası yaratdıq. İndi MySQL komanda xəttinin serverdə saxlanılan məlumatlara daxil olmaq üçün yeganə vasitə olacağı halda onunla necə işləməyi öyrənmək yaxşı olardı (mənim üçün olduğu kimi, bu barədə söhbətin əvvəlində danışdım. məqalə).

Bildiyiniz kimi, o, cədvəllərdən ibarətdir, onların içərisində məlumatlar artıq bir neçə sahə ilə qeydlər şəklində saxlanılır. Buna görə də, məlumatların yerləşdirilməsi iyerarxiyasına əməl edərək, əvvəlcə cədvəllərlə tipik CRUD əməliyyatlarını necə yerinə yetirməyi öyrənəcəyik.

CRUD əməliyyatları, əgər kimsə bilmirsə, ingilis dilindən məlumat yaratmaq, oxumaq, yeniləmək və silmək əməliyyatlarıdır. “Yarat, Oxu, Yenilə, Sil” (müsahibə zamanı buna ehtiyacınız ola bilər).

Nəzərinizə çatdırım ki, cədvəllərlə hərəkətləri yerinə yetirmək üçün əvvəlcə əmrdən istifadə edərək MySQL verilənlər bazasına qoşulmalısınız İSTİFADƏ EDİN.

Beləliklə, gündəliyimizdəki ilk şey verilənlər bazasında əmr xətti vasitəsilə MySQL cədvəli yaratmaq əmridir, bu belə görünür:

CREATE TABLE cədvəl_adı (sahə_adı_1 sahə_tipi_1, sahə_adı_2 sahə_növü_2(sahə_ölçüsü_2), INDEX(sahə_adı_1), ...);

Anladığınız kimi, istədiyiniz qədər sahə ola bilər, onların növləri müxtəlif ola bilər, həmçinin indekslərin və açarların olması isteğe bağlıdır.

Yeri gəlmişkən, əgər siz cədvəli başqa verilənlər bazasına köçürmək və ya sadəcə olaraq cari verilənlər bazasında surət yaratmaq istəyirsinizsə, aşağıdakı əmrlər sizə kömək edəcək:

CƏDVƏL YARADIN yeni_cədvəl_adı köhnə_cədvəl_adı KİMİ; INSERT new_table_name SELECT * FROM old_table_name;

Bu əmrlər cədvəlin strukturunu və onun məlumatlarını cədvəl indeksləri və triggerlərlə birlikdə köçürməyə imkan verir. Əgər sizə sadəcə məlumat və struktur lazımdırsa (sahələrin adları və onların məlumat növləri), onda bir əmri çağırmaqla əldə edə bilərsiniz:

CƏDVƏL YARADIN yeni_cədvəl_adı SEÇİLƏN KİMİ * köhnə_cədvəlin_adından;

CRUD blokundan növbəti əməliyyat oxunur. Cədvəllər vəziyyətində oxuma onların strukturunu göstərəcəkdir. Bunu etmək üçün aşağıdakı dörd əmr var:

table_name-DƏN TAM SÜTUNLARI GÖSTER; Cədvəl_adını TƏSVİR EDİN; Cədvəl_adını izah edin; GÖSTER CƏDVƏL YARAT masa_adı;

Birincisi, verilənlər bazası cədvəlinin sahələri haqqında məlumatları cədvəl şəklində MySQL konsoluna göstərir, sahənin adını, məlumat tipini, açarların mövcudluğunu, standart dəyəri və s. Açar sözdən istifadə edərkən TAM cari istifadəçi üçün hər bir sahə üçün imtiyazlar, onların hər biri üçün şərhlər və kodlaşdırma dəyəri daxil olmaqla geniş məlumat əldə edə bilərsiniz.

İkinci və üçüncü əmrlər genişləndirilmiş məlumat olmadan birinci əmrin sadəcə qısaldılmış formalarıdır. Təsəvvür edə bilmirəm ki, daha çox yaratmağa niyə ehtiyac var idi? 🙂

Dördüncü əmr, ad, sahə növləri və onların standart dəyərlərinə əlavə olaraq, cədvəl açarlarının, cədvəl mühərriklərinin (InnoDB, MyISAM), kodlaşdırma və s. dəyərlərini əldə etməyə imkan verir.

Cədvəllər vəziyyətində yeniləmə əməliyyatı onların strukturunda bir dəyişikliyi təmsil edir, yəni. MySQL cədvəl sahələri ilə müxtəlif hərəkətlər:

ALTER TABLE masa_adı DROP COLUMN sahə_adı; ALTER TABLE masa_adı ADD COLUMN sahə_adı VARCHAR(20); ALTER TABLE masa_adını DƏYİŞTİR köhnə_sahə_adını yeni_sahə_adını VARCHAR(50); CƏDVƏLİ Cədvəl_adını DƏYİŞTİRİN sahə_adı VARCHAR(3);

Birinci əmr müəyyən bir cədvəl sahəsini silməyə, ikincisi onu əlavə etməyə, üçüncüsü sahənin adını dəyişməyə və eyni zamanda orada saxlanılan məlumatların növünü dəyişməyə, dördüncü isə yalnız məlumat tipini dəyişməyə imkan verir. .

Eyni şey, əsasən oxşar əmrlərdən istifadə edərək cədvəl indeksləri ilə edilə bilər:

ALTER TABLE masa_adı ADD UNİKAL INDEX index_name (sahə_adı_1, ...); ALTER TABLE table_name INDEX köhnə index_name TO new index_name; ALTER TABLE masa_adı DROP INDEX index_name;

Aşağıdakı əmrlər əmr satırı vasitəsilə MySQL cədvəllərinə indekslər əlavə etmək, adını dəyişmək və silmək imkanı verir. İndeksləri əlavə etmək və silmək üçün, yeri gəlmişkən, müstəqil əmrlərdən istifadə etmək üçün başqa bir alternativ seçim var. CƏDVƏLİ DƏYİŞTİRİN. Buna görə də, istəsəniz, onlardan istifadə edə bilərsiniz:

UNİKAL İNDEKS indeks_adı YARADIN (sahə_adı_1, ...) masa_adında; DROP INDEX index_name ON table_name;

Verilmiş əmrlər əvvəlki blokdan birinci və sonuncuya bərabərdir. Təəssüf ki, indeksin adını dəyişmək üçün ayrıca əmr yoxdur. Və indeks tipini dəyişmək üçün təəssüf ki, MySQL-də ümumiyyətlə heç bir yol yoxdur. Yeganə həll yolu indeksi silmək və onu istədiyiniz tiplə yenidən yaratmaqdır.

Yaxşı, nəhayət, CRUD blokundan son əməliyyata - silinməyə çatdıq. MySQL cədvəllərini verilənlər bazasından silmək çox sadədir. Sadəcə MySQL konsolunda aşağıdakı əmri yerinə yetirin:

DROP TABLE masa_adı;

Bəzən praktikada cədvəlin silinməsi və ya strukturunun dəyişdirilməsi mümkün olmayan vəziyyətlər yaranır. Bir qayda olaraq, bu, cədvəlləri bir-biri ilə əlaqələndirmək üçün verilənlər bazasında xarici açarların istifadəsi ilə əlaqədardır. Mən şəxsən məqalənin əvvəlində danışdığım kimi bu vəziyyətlə bir dəfədən çox qarşılaşmışam.

Buna görə də, əgər cədvəl strukturunu və ya onun məlumatlarını silərkən və ya yeniləyərkən MySQL sizə mətnlə bağlı xəta verdi Ana cərgəni silmək və ya yeniləmək mümkün deyil: xarici açar məhdudiyyəti uğursuz olur, onda aşağıdakı məlumat sizin üçün faydalı olacaq.

Planımızı həyata keçirmək üçün xarici açarların mövcudluğu üçün çeki müvəqqəti olaraq söndürməli, lazımi əməliyyatı yerinə yetirməli və sonra çeki yenidən aktivləşdirməliyik, çünki həqiqətən zəruridir və əksər hallarda məlumatların bütövlüyünün pozulmasından qorunmağa imkan verir.

Əslində bunun üçün MySQL xarici açarları lazımdır.

Beləliklə, xarici açarların müdaxilə etdiyi məlumatları silmək üçün MySQL konsolunda aşağıdakı addımları yerinə yetirməlisiniz:

XARİCİ_KEY_CHECKS SET=0; #tələb olunan_mysql_command SET XARİCİ_AÇAR_YOXLAMALAR=1;

Yeri gəlmişkən, xarici açarı silmək istəyirsinizsə, prosedur indeksi silərkən olduğu kimi olacaq:

ALTER TABLE masa_adı DROP FOREIGN KEY xarici_açar_adı;

Cədvəlin MySQL xarici açarının adını öyrənmək üçün artıq tanış olan MySQL konsol əmrindən istifadə edin. CƏDVƏL YARADINI GÖSTƏRİN.

Komanda xətti vasitəsilə MySQL cədvəl məlumatları ilə işləmək

CRUD cədvəlləri üçün biz MySQL konsolunda əməliyyatlara baxdıq. Tam şəkil üçün bu fırıldaqçı vərəqdə yalnız verilənlər bazası cədvəllərində saxlanılan məlumatlarla işləmək üçün əmrlər yoxdur. Düşünürəm ki, bir çox insanlar bu əmrləri bilir və praktikada istifadə ediblər, amma yenə də onları sizə xatırladacağam.

MySQL cədvəl məlumatları ilə işləmək üçün CRUD əməliyyatları belə görünəcək:

cədvəl_adı INSERT INTO (sahə1, sahə2, ...) VALUES (sahə_1 dəyəri, sahə_2 dəyəri, ...); SEÇİN sahə1, sahə2, ... Cədvəl_adından; YENİLƏNİN cədvəl_adı SET sahəsi1 = sahə_1 dəyəri, sahə2 = sahə_2 dəyəri; Cədvəl_adından SİLİN HARADA sahə1 = sahə_1 dəyəri;

Yuxarıdakı əmrlər MySQL verilənlər bazası cədvəllərindən verilənlərin yaradılması, oxunması, yenilənməsi və silinməsi əməliyyatlarına uyğundur. SELECT və UPDATE istifadə edərkən, həmçinin, DELETE istifadə edərkən təsvir edilən kimi məlumat seçimini təyin etmək üçün istifadə edilə bilən uyğun HARADAN bəndindən istifadə etmək də mümkündür.

Həmçinin, SELECT istifadə edərək verilənlər bazasından məlumat əldə edərkən, bütün cədvəl sahələrinin dəyərlərini əldə etmək üçün aşağıdakı seçimdən istifadə edə bilərsiniz:

SEÇİN * cədvəl_adından;

Təbii ki, bu əməliyyatlarda WHERE-dən başqa digər operatorlar da istifadə edilə bilər. Xüsusilə SELECT-dən istifadə edərək məlumat əldə edərkən onlardan çoxu var: burada bir neçə sorğunun nəticələrini birləşdirmək üçün BİRLİK və müxtəlif növ JOIN var. Hər şeyi sadalamaq çox uzundur və bunu oxumaq həm mənim, həm də sizin üçün yorucu olacaq.

Buna görə də razılaşaq: əgər bir şey haqqında daha çox bilmək istəyirsinizsə, bu barədə şərhlərdə yazın, mən sizə cavab verməyə çalışacağam. Yaxud cəmiyyətimizin digər bilikli üzvləri bunu edəcək. TAMAM? 😉

Odur ki, hələlik bu blok üzərində dayanmayacağıq.

Cədvəldən bütün məlumatları silmək lazımdırsa, aşağıdakı MySQL əmrindən istifadə edə bilərsiniz:

TRUNCATE cədvəl_adı;

Zəng etməzdən əvvəl, əvvəllər qeyd edildiyi kimi, tələb olunan hərəkətin yerinə yetirilməsinə mane ola biləcək əlaqəli MySQL cədvəlləri olduqda, xarici açarın yoxlanılmasını deaktiv etməlisiniz.

Burada qeyd edilməli olan başqa bir maraqlı məqam odur ki, bu əmr AUTO_INCREMENT sayğacını sıfırlamır, hansı ki, onu əl ilə təyin etməyə ehtiyac olmadan avtomatik olaraq sahə dəyəri yaratmaq üçün istifadə olunur.

Bu tip sahələr ən çox müxtəlif cədvəllərdən verilənlər arasında əlaqə yaratmaq üçün istifadə edilən əsas açar sahə identifikatoru üçün dəyərlər yaratmaq üçün istifadə olunur.

Yəni, istifadə edərək cədvəl məlumatlarını silmədən əvvəl KESİN maksimum sayğac dəyəri 1200 idi, sonra bu prosedurdan sonra ilk qeyd 1201 identifikator dəyərinə sahib olacaq. Prinsipcə, hər şey qaydasındadır. Bu sahə üçün kifayət qədər ölçü təyin etmisinizsə, tezliklə dəyərləri aşmaq təhlükəsi ilə üzləşməyəcəksiniz.

Bununla belə, bəzi hallarda, tətbiq kodu sahənin dəyərinə bir növ bağlanma olduqda, bu davranış narahatlıq yarada bilər.

Bunun qarşısını almaq üçün yuxarıdakı əmr əvəzinə bu seçimi istifadə edin:

TRUNCATE TABLE someCədvəli YENİDƏN BAŞLAMA ŞƏXSİYYƏTİ;

Bu əmr çağırışı seçimi KESİN sahə sayğacının dəyərini sıfırlamağa imkan verəcək AUTO_INCREMENT. Buna görə də, bu silinmədən sonra ilk əlavə edilmiş qeydin sahə dəyəri yuxarıdakı nümunədə olduğu kimi 1201 əvəzinə 1 olacaqdır.

MySQL verilənlər bazasını komanda xətti ilə necə silmək olar

Verilənlər bazası ilə işləməyin həyat dövrü başa çatır və kifayət qədər məntiqi olaraq başa çatır - onu silməklə. MySQL konsolunda bu əməliyyatı yerinə yetirmək üçün aşağıdakı əmri yerinə yetirmək lazımdır (bu halda silinəcək verilənlər bazası komanda tərəfindən seçilməyə bilər. İSTİFADƏ EDİN):

VERİLƏNLƏR BAZASINI SİLİN verilənlər bazası_adı;

Eyni hərəkət, verilənlər bazası yaratarkən məqalənin əvvəlində qeyd etdiyim MySQL mysqladmin yardım proqramından istifadə etməklə edilə bilər:

Mysqladmin verilənlər bazası_adı buraxın;

Komandanı çağırdığınız zaman server konsolunda aşağıdakı mesaj görünür:

Verilənlər bazasını atmaq potensial olaraq çox pis bir şeydir.
Verilənlər bazasında saxlanılan hər hansı məlumat məhv ediləcək.

Həqiqətən 'verilənlər bazası_adı' verilənlər bazasını silmək istəyirsiniz?

Qısacası, bu, MySQL verilənlər bazasını silməyin çox pis fikir olduğuna dair xəbərdarlıqdır. Hərəkətin təsdiqi də tələb olunur. Razısınızsa yazın y və basın Daxil edin klaviaturada, bundan sonra ekranda aşağıdakı mesaj görünəcək (əlbəttə ki, hər şey qaydasındadırsa):

Verilənlər bazası "verilənlər bazası_adı" silindi

Bu belədir :)

Konsolda MySQL istifadəçisini necə silmək olar

İndi eyni aqibət bunun necə edildiyini göstərmək üçün yaratdığımız MySQL istifadəçisinin başına gələcək. Ancaq əvvəlcə onu silməzdən əvvəl tələb olunan istifadəçinin həqiqətən mövcud olub olmadığını yoxlamaq yaxşı olardı.

MySQL 5.7-dən etibarən bu hərəkətlərin hər ikisi üçün bir əmr var:

istifadəçi adı VARSA İSTİFADƏÇİYİ DÜŞÜN;

MySQL-in əvvəlki versiyaları iki ayrı əmr tələb edirdi:

"user_name"@"host_və ya_IP_address" ÜÇÜN *.* İSTİFADƏ VERİN; DROP USER "user_name"@"host_or_IP_address";

Təəssüf ki, bu halda MySQL konsolunda əməliyyatın yerinə yetirilməsi ilə bağlı mesaj ənənəvi olaraq qeyri-informasiya xarakteri daşıyır 🙁 Buna görə də MySQL istifadəçisinin silindiyini öyrənmək üçün bütün istifadəçilərin siyahısını əks etdirən aşağıdakı əmrdən istifadə edə bilərsiniz. cari MySQL serverində mövcud:

mysql.user-dən İstifadəçi SEÇ;

Bu əmr seçimi yalnız istifadəçi adlarını göstərəcək. İstifadəçilərin serverə qoşula biləcəyi hostları və imtiyazlar siyahısını görmək lazımdırsa, aşağıdakı formada əmrə zəng edə bilərsiniz:

mysql.user-dən İstifadəçi, Host, Grant_priv SEÇİN;

Həmçinin mysql.user cədvəlində digər imtiyaz növlərini və digər məlumatları saxlayan bir çox başqa sahələr var, onların tam siyahısını burada tapa bilərsiniz - https://mariadb.com/kb/en/library/mysqluser- masa/

Bunun MariaDB DBMS üçün sənədlər olduğuna çaşmayın. Texniki olaraq bu MySQL ilə eynidir, çünki... MariaDB sadəcə ingiliscə "çəngəl" - budaq, çəngəl - budaq və ya çəngəldir.

Niyə edildi - yenə də heç bir fikrim yoxdur 🙂 Bəlkə hər kəsə qürurla bəyan edim ki, “mənim öz DBMS-im var”?.. Amma düzünü desəm, MySQL ilə MySQL arasındakı dəqiq motivlərdən və fərqlərdən o qədər də xəbərdar deyiləm. MariaDB. Buna görə də, bu barədə bir şey bilirsinizsə, şərhlərdə bu barədə oxumaq maraqlı olardı.

MySQL Konsolundan çıxır

Budur, verilənlər bazası və istifadəçinin yaradılması ilə başlayan və silinməsi ilə bitən həyat dövrü başa çatdı. Buna görə də, köməkçi proqramdan istifadə edərək server konsolunda işlədiyimiz MySQL komanda xətti mysql, daha bizə lazım deyil.

Geriyə yalnız ondan çıxmaq qalır...

Görünür ki, hərəkət mənasızdır, lakin bir çoxları MySQL əmr satırından çıxmalı olduqları vəziyyətdə sadəcə server konsolunu bağlayıb yenidən açın. Siz təbii ki, belə hərəkət edə bilərsiniz, lakin bu, əlavə saniyələr iş vaxtını alır və hər dəfə bunu etmək lazım olanda sizi qıcıqlandırır.

Bu vəziyyətdə düzgün davranış yalnız əmri çağırmaqdır çıxış MySQL komanda xəttində, bundan sonra xidmət nəzakətlə bizimlə vidalaşacaq :)

Və hamısı budur 🙂 Beləliklə, növbəti dəfə birdən çox konsol yaratmağa və hər dəfə konsolda MySQL-dən çıxmaq və serveri idarə etmək üçün ona yenidən daxil olmaq lazım olduqda onları yenidən açmağa ehtiyac yoxdur.

Bu gün sizə demək istədiyim hər şey bu idi. Ümid edirəm ki, konsol vasitəsilə MySQL komanda xətti ilə işləmək üçün fırıldaq vərəqim təkcə mənim üçün deyil, sizin üçün də faydalı olacaq.

Məqalədə təqdim olunan məlumatların praktiki tətbiqi haqqında danışarkən xatırlatmaq istərdim ki, yuxarıda göstərilən konstruksiyalar təkcə MySQL əmr satırında və server konsolunda deyil, həm də phpMyAdmin və digər proqram təminatının konsolunda istifadə edilə bilər. belə bir fürsət.

İstifadə edib-etməmək sizin işinizdir. Ancaq məqalənin əvvəlində dediyim kimi, MySQL konsolundan istifadə edərkən vaxtınıza və stressinizə qənaət edə biləcəyiniz vəziyyətlər var. Komanda xəttindən hər gün istifadə edib-etməmək sırf zövq və fərdi seçim məsələsidir.

Ən çox hansı əmrlərdən istifadə etdiyinizi şərhlərdə yazın. Və ya bəlkə başqa fəndləri bilirsiniz. İstənilən halda öz fikrinizi başqaları ilə bölüşün və digər istifadəçilərin şərhlərində söhbəti davam etdirin.

Söz verirəm ki, hər bir məqaləmi yazarkən etdiyim kimi, bu müddətdə çoxlu yeni şeylər öyrənəcəksiniz :)

Hamısı budur! Uğurlar və yenidən görüşərik :)

P.S.: vebsayta ehtiyacınız varsa və ya mövcud vebsaytda dəyişiklik etməlisinizsə, lakin bunun üçün vaxt və ya istək yoxdursa, xidmətlərimi təklif edə bilərəm.

5 ildən artıq təcrübə peşəkar veb sayt inkişafı. ilə işləyin PHP, OpenCart, WordPress, Laravel, Yii, MySQL, PostgreSQL, JavaScript, Reaksiya, Bucaqlı və digər veb inkişaf texnologiyaları.

Aşağıda ən faydalı və tez-tez istifadə olunan əmrlərin siyahısı verilmişdir MySQL misallarla.

sətrin əvvəlindəki mysql əmrin daxil olduqdan sonra yerinə yetirildiyini bildirir MySQL.

Sətirin əvvəlindəki # və ya $ simvolu əmrin əmr xəttindən yerinə yetirildiyini bildirir.

Server statusunu yoxlamaq üçün MYSQL edin:

üçün FreeBSD:

# xidmət mysql-server statusu

V CentOS/RHEL:

# xidmət mysqld statusu

MySQL server əgər konsoldan MySQL eyni hostdadır:

Serverə qoşulmaq üçün MySQL server əgər konsoldan MySQL db1.example.com uzaq hostda yerləşir:

$ mysql -u istifadəçi adı -p -h db1.example.com

Verilənlər bazası və cədvəllərlə işləmək - qeydlərə baxmaq, silmək, redaktə etmək. Konsol

Məlumat bazası yaradın MySQL server:

Mysql verilənlər bazası yaradır

Serverdəki bütün verilənlər bazalarının siyahısını göstərin MySQL:

mysql istifadəsi;

Verilənlər bazasındakı bütün cədvəlləri göstərin:

Mysql şou cədvəlləri;

Verilənlər bazasında cədvəl formatına baxın:

mysql təsvir edir;

Verilənlər bazasını silin:

Mysql açılan verilənlər bazası;

Verilənlər bazasından cədvəli silin:

Mysql açılan cədvəl;

Bütün cədvəl məzmununu göstərin:

Mysql SELECT * FROM ;

Seçilmiş cədvəldə sütunları və sütun məzmununu göstərin:

Mysql-dən sütunları göstərir;

"Nə olursa olsun" ehtiva edən xüsusi cədvəldə sətirləri göstərin:

Mysql SELECT * FROM WHERE = "nə olursa olsun";

Bütün qeydləri "Bob" və "3444444" telefon nömrəsi olan xüsusi cədvəldə göstərin:

Mysql SEÇİN * FROM WHERE adı = "Bob" AND phone_number = "3444444";

Bütün qeydləri göstər, YOX"Bob" adı və telefon nömrəsi sahəsinə görə sıralanan "3444444" telefon nömrəsini ehtiva edir:

Mysql SELECT * FROM WHERE name != " Bob " AND phone_number = " 3444444 " telefon_nömrəsi ilə sifariş verin;

Xüsusi cədvəldə "bob" hərfləri və "3444444" telefon nömrəsi ilə başlayan bütün qeydləri göstərin:

Mysql SEÇİN * HARADAN ad kimi "Bob %" VE phone_number = "3444444";

"bob" hərfləri və "3444444" telefon nömrəsi ilə başlayan, 1-dən 5-ə qədər olan girişləri məhdudlaşdıran bütün qeydləri göstərin:

Mysql SEÇİN * HARADAN ad kimi "Bob %" VƏ phone_number = "3444444" limit 1.5;

Qeydləri axtarmaq üçün müntəzəm ifadələrdən ("REGEXP BINARY") istifadə edin. Məsələn, hərflərə həssas olmayan axtarış üçün A hərfi ilə başlayan bütün qeydləri tapın:

Mysql SEÇİN * HARƏDƏN SEÇİN RLIKE "^a";

Bütün unikal qeydləri göstərin:

Mysql SEÇ DISTINCT FROM ; mysql SELECT , FROM SİFARİŞ BY DESC;

Cədvəldəki sətirlərin sayını göstərin:

Mysql SEÇ COUNT(*) FROM ;

Mysql SEÇİM SUM(*) FROM ;

Sütunun silinməsi:

Mysql cədvəlin açılan sütununu dəyişdirir;

Verilənlər bazasına sütun əlavə etmək:

Mysql dəyişdirmə cədvəli sütun əlavə et varchar(20);

Sütun adının dəyişdirilməsi:

Mysql cədvəli dəyişdirmək varchar(50);

Təkrarlanan adların qarşısını almaq üçün unikal ada malik sütun yaradın:

Mysql dəyişdirmə cədvəli unikal əlavə edin();

Sütunun ölçüsünü dəyişdirin:

Mysql dəyişdirmək cədvəlini dəyişdirmək VARCHAR(3);

Cədvəldən sütunun çıxarılması:

Mysql cədvəlin düşmə indeksini dəyişdirir;

Mysql LOAD DATA INFILE " /tmp/filename.csv " "n" İLƏ SON VERİLƏN CƏDVƏL SAHƏLƏRİNƏ "," "n" İLƏ SON VERİLƏN SƏTİRLƏRİ əvəz et (sahə1,sahə2,sahə3);

MySQL server istifadəçiləri, parollar - istifadəçi və parolların əlavə edilməsi, dəyişdirilməsi. Konsol

Yeni istifadəçi yaratmaq - serverə qoşulmaq MySQL kök olaraq verilənlər bazasına keçin, istifadəçi əlavə edin, imtiyazları yeniləyin:

# mysql -u root -p mysql mysql istifadə edin; mysql INSERT INTO user (Host,User,Password) VALUES("%"," username ", PASSWORD(" password ")); mysql flush imtiyazları;

İstifadəçi parolunun db1.example.org uzaq hostunda konsoldan dəyişdirilməsi:

# mysqladmin -u istifadəçi adı -h db1.example.org -p parol " yeni-parol "

Konsoldan istifadəçi parolunun dəyişdirilməsi MySQL- kök kimi qoşulun, parolu yeniləyin, imtiyazları yeniləyin:

# mysql -u root -p mysql " user "@" hostname ÜÇÜN ŞİFRƏ SET " = PASSWORD(" parolburada "); mysql flush imtiyazları;

Kök server parolunun bərpası/dəyişdirilməsi MySQL- dayan MySQL, imtiyaz cədvəlləri olmadan başlayın, kök olaraq qoşulun, yeni parol təyin edin, çıxın və yenidən başladın MySQL.

# /etc/init.d/mysql stop # mysqld_safe -skip-grant-tables & # mysql -u root mysql mysql istifadə edin; mysql update user set password=PASSWORD(" newrootpassword") burada User="root"; mysql; yuyulma imtiyazları; mysql çıxın # /etc/init.d/mysql stop # /etc/init.d/mysql start

Kök parolu varsa, kök parol təyin edin.

# mysqladmin -u kök parol yeni parol

Kök parolunu yeniləyin:

# mysqladmin -u root -p köhnə parol yeni parol

"passwd" parolu ilə host localhost-dan serverə qoşulma hüququnun təyin edilməsi - alt kökə qoşulma, verilənlər bazasına keçid, imtiyazların təyin edilməsi, imtiyazların yenilənməsi:

# mysql -u root -p mysql mysql istifadə edin; mysql " passwd " ilə müəyyən edilən bob @localhost-a *.*-də istifadə qrant; mysql flush imtiyazları;

Verilənlər bazasından istifadə etmək üçün istifadəçi imtiyazlarının təyin edilməsi - kök kimi qoşulma, verilənlər bazasına keçid, imtiyazların təyin edilməsi, imtiyazların yenilənməsi:

# mysql -u root -p mysql mysql istifadə edin; mysql INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ("%","databasename","username","Y","Y","Y","Y"," Y", "Y", "N"); mysql flush imtiyazları;

Mysql verilənlər bazası adı üzərində bütün imtiyazları verir.* istifadəçi adına @localhost; mysql flush imtiyazları;

Verilənlər bazasında məlumatların yenilənməsi:

Mysql YENİLƏNİB SET Select_priv = "Y", Insert_priv = "Y", Update_priv = "Y" burada = istifadəçi";

Cədvəldəki sıranın silinməsi:

Mysql DELETE from where = "nə olursa olsun";

Verilənlər bazasında imtiyazların yenilənməsi:

Mysql flush imtiyazları;

Yedəkləmələr - verilənlər bazalarının yaradılması, bərpası. Konsol

alldatabases.sql faylına bütün verilənlər bazalarının ehtiyat nüsxəsini (zibilini) yaradın:

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

Bir verilənlər bazasını databasename.sql faylına yedəkləyin:

# mysql dump -u istifadəçi adı -p parol - verilənlər bazası verilənlər bazası adı ; /tmp/databasename.sql

Databasename.tablename.sql faylına bir cədvəlin ehtiyat nüsxəsini çıxarın:

# mysql dump -c -u istifadəçi adı -p parol verilənlər bazası adı cədvəl adı ; /tmp/databasename.tablename.sql

Verilənlər bazasının (və ya cədvəlin) ehtiyat nüsxədən bərpası:

# mysql -u istifadəçi adı -p parol verilənlər bazası adı< /tmp/databasename.sql

Verilənlər bazası cədvəllərinin yaradılması. Konsol

sütun adları kiçik hərflərlə göstərilir;
BÖYÜK hərflər - sütunların növləri və atributları;
in (mötərizədə) - sütun növünün dəyəri.

Cədvəl nümunəsi yaradın:

mysql CREATE TABLE (ad VARCHAR(20), orta ilkin VARCHAR(3), soyad VARCHAR(35), şəkilçi VARCHAR(3), officeid VARCHAR(10), userid VARCHAR(15), istifadəçi adı VARCHAR(8), e-poçt VARCHAR(35) ), telefon VARCHAR(25), qruplar VARCHAR(15), tarix işarəsi TARİX, vaxt damğası TIME, pgpemail VARCHAR(255));

Cədvəl yaradın, nümunə 2:

Mysql yaratmaq cədvəli (şəxs INT(50) NOT NULL AUTO_INTCREMENT PRIMARY KEY, ad VARCHAR(35), ata adı VARCHAR(50), soyad VARCHAR(50) default "bato");

MySQL komanda xətti yardım proqramı sadə SQL qabığıdır (GNU layihəsinin oxunuş xətti kitabxanasının imkanları ilə). O, interaktiv və qeyri-interaktiv rejimləri dəstəkləyir. İnteraktiv rejimdə sorğunun nəticələri ASCII formatında təqdim olunur. Qeyri-interaktiv rejimdə (məsələn, filtr kimi) istifadə edildikdə, nəticə nişanla ayrılmış mətn formatında təqdim olunur (çıxış formatı komanda xətti seçimlərindən istifadə etməklə dəyişdirilə bilər). Skriptlər aşağıda göstərildiyi kimi işlədilə bilər:

Shell> mysql verilənlər bazası output.tab

Müəyyən bir müştəridə kifayət qədər yaddaş olmaması səbəbindən problemlər yaranarsa, --quick seçimini istifadə edin! Bu, nəticədə əldə edilən məlumat seçimini əldə etmək üçün mysql-i mysql_store_result() funksiyası əvəzinə mysql_use_result() funksiyasından istifadə etməyə məcbur edəcək.

mysql-dən istifadə etmək çox asandır. MySQL verilənlər bazasını və ya mysql --user=user_name --password=your_password verilənlər bazasını işə salın e. SQL əmrini birbaşa komanda xəttinə yazın, onu aşağıdakı simvollardan biri ilə bitirin: `;" , `\g" və ya `\G" və ``Enter" düyməsini basın.

Mysql komanda xətti yardım proqramı aşağıdakı seçimləri dəstəkləyir:

Yardım Proqramdan istifadə haqqında yardım məlumatını göstərir və ondan çıxır. -A, --no-auto-rehash Avtomatik təkrarlamağı söndürür. Cədvəllərin və sahələrin hashini almaq üçün rehash istifadə edilməlidir. Bu, mysql-i daha sürətli işə salır. --prompt=... Göstərilən formatda əmrləri daxil etmək üçün əmr təyin edir. -b, --no-beep Səhv siqnalını söndürür. -B, --batch Nəticə nişanla ayrılmış toplu rejimdə, hər sətir yeni sətirdə olur. Tarix faylı istifadə edilmir. --character-sets-dir=... Simvol dəstlərinin yerləşdiyi qovluq. -C, --compress Server/müştəri protokolunda verilənlərin sıxılmasından istifadə edin. -#, --debug[=...] Sazlama jurnalı. Varsayılan dəyər "d:t:o,/tmp/mysql.trace"dir. -D, --database=... İstifadə olunacaq verilənlər bazasının adı. Əsasən `my.cnf" konfiqurasiya faylında istifadə olunur. --default-character-set=... Standart simvol dəstini təyin edin. -e, --execute=... Komandanı yerinə yetirin və proqramdan çıxın (nəticəni çıxarın) --batch) üçün, --verical Sorğu nəticələrini (sətirləri) şaquli olaraq çap edin. Bu parametr olmadan, əmrləri \G -f, --force ilə bitirərək, emal etməyə davam edə bilərsiniz. SQL xətası aşkarlandı -g, --no-named-commands Adlandırılmış əmrləri söndürür. . 10.9 versiyasından başlayaraq müştəri bu seçimlə başlayır, daxildir default! Ancaq -g seçimi ilə uzun əmrlər hələ də birinci sətirdən işləyir. -G, --enable-namemed-commands Adlandırılmış əmrləri aktivləşdirir. Uzun əmrlərə, eləcə də \* kimi qısaldılmış əmrlərə icazə verilir. -i, --ignore-space Funksiya adlarından sonra boşluqlara əhəmiyyət verməyin. -h, --host=... Göstərilən hostda verilənlər bazasına qoşulun. -H, --html Çıxışı HTML kimi çap edin. -L, --skip-line-numbers Səhvlər üçün sətir nömrələrini keçin. Səhv mesajlarını ehtiva edən nəticə fayllarını müqayisə etmək üçün faydalıdır. --no-pager Peyceri (peycer) söndürür və nəticəni stdout-a yazır (Unix-də). Həmçinin \h əmrinə baxın (onlayn kömək). --no-tee Çıxış faylını kilidləyir. Həmçinin \h əmrinə baxın (onlayn kömək). -n, --unbuffered Hər sorğudan sonra buferi silin. -N, --skip-column-names Nəticələrdə sütun adlarını atlayın. -O, --set-variable var=option Dəyişənin qiymətini təyin edin. İstifadə olunan dəyişənlərin siyahısı --help vasitəsilə göstərilir. -o, --bir verilənlər bazası Yalnız standart verilənlər bazasını yeniləyin. Yeniləmə jurnalında başqa verilənlər bazasına yeniləmələri atlamağa imkan verir. --pager[=...] Çıxış məlumat növünü təyin edir. Defolt olaraq bu PAGER mühit dəyişənidir. Onun mümkün dəyərləri daha az, daha çox, cat [> fayl adı] və s. Həmçinin \h əmrinə baxın (onlayn kömək). Bu seçim toplu rejimdə işləmir. Peycer yalnız Unix altında işləyir. -p, --password[=...] Verilənlər bazası serverinə qoşulduqda istifadə edilən parol. Komanda xəttində parol göstərilməyibsə, istifadəçidən parol tələb olunur. Qısa forma -p istifadə edərkən parametr və parol dəyəri arasında boşluq qoymayın. -P --port=... Qoşulmaq üçün istifadə edilən TCP/IP port nömrəsi. -q, --quick Nəticələri keş etməyin. Serverdən gələn kimi onu sətir-sətir çap edin. Çıxış dayandırılsa, bu, server sürətini aşağı sala bilər. Tarix faylı istifadə edilmir. -r, --raw Sütun dəyərlərini heç bir dönüşüm olmadan göstərin. --batch ilə istifadə olunur. -s, --səssiz Səssiz rejim. Yalnız səhv mesajlarını göstərin. -S --socket=... Qoşulmaq üçün istifadə olunan soket faylı. -t --table Nəticəni cədvəl formatında çıxarın. Qeyri-toplu rejim üçün standart olaraq təyin edin. -T, --debug-info Proqramdan çıxarkən bəzi sazlama məlumatlarını çap edin. --tee=... Çıxış faylına nəsə əlavə edin. Həmçinin \h əmrinə baxın (onlayn kömək). Bu seçim toplu rejimdə işləmir. -u, --user=# MySQL istifadəçi adı, əgər bu istifadəçi həmin anda aktiv deyilsə. -U, --safe-updates[=#], --i-am-a-dummy[=#] Yalnız düymələrdən istifadə edərək YENİLƏNMƏ və SİLƏ əməliyyatlarına icazə verir. Bu seçim haqqında daha ətraflı məlumat aşağıda verilmişdir. Siz `my.cnf' konfiqurasiya faylında --safe-updates=0 arqument dəyərini təyin etməklə bu parametri yenidən qura bilərsiniz -v, --verbose Daha təkmil çıxış rejimi (-v -v -v cədvəlin çıxış formatını verir). -V , --versiya Versiya məlumatını göstərin və proqramdan çıxın -w, --wait Serverə qoşulma uğursuz olarsa, işi dayandırmaq əvəzinə onu bərpa etməyə çalışın.

Siz həmçinin -O və ya --set-variable əmr satırı seçimləri vasitəsilə aşağıdakı dəyişənləri təyin edə bilərsiniz:

Komanda xəttində yardım yazsanız, mysql dəstəklədiyi əmrləri sadalayacaq:

Mysql> help Komandalar MySQL help (\h) Verilmiş mətni çap edir. ? (\h) Kömək üçün sinonim. sil (\c) Sil əmri. qoşulmaq (\r) Yenidən serverə qoşulun. Əlavə arqumentlər db və hostdur. redaktə etmək (\e) $EDITOR istifadə edərək cari əmri redaktə edin. ego (\G) Cari MySQL əmrini serverə göndərin və nəticəni şaquli olaraq göstərin. exit (\q) Proqramdan çıxın. Çıxmaq kimi. go (\g) Cari MySQL əmrini serverə göndərin. nopager (\n) Blok peycer, stdout vasitəsilə çıxış. qeyd (\t) Çıxış faylının xarici faylına qeydlər əlavə etməyin. peycer (\P) PAGER təyin edin. PAGER vasitəsilə sorğu nəticələrini göstərin. çap (\p) Cari əmri çap edin. prompt (\R) mysql əmrlərini daxil etmək üçün sorğu formatını dəyişdirin. çıxın (\q) Proqramdan çıxın. rehash (\#) Hash cədvəlini bərpa edin. mənbə (\.) SQL skripti ilə faylı işə salın. Arqument kimi bir fayl adı təqdim edin. status (\s) Server statusu haqqında məlumat əldə edin. tee (\T) Xarici fayl parametrini təyin edin. Verilmiş çıxış faylına bir şey əlavə edin. istifadə edin (\u) Başqa verilənlər bazasından istifadə edin. Verilənlər bazasının adını arqument kimi təqdim edin.

Peycer əmri yalnız Unix-də işləyir.

Bunun nəticəsi aşağıdakılardır:

  • YENİLƏNMƏ və ya SİL əmrlərinin yerinə yetirilməsinə icazə verilmir, əgər əsas məhdudiyyətlər WHERE bəndində göstərilmirsə. Bununla belə, siz LIMIT ifadəsindən istifadə edərək YENİLƏNİB / SİL əmrlərini icra etməyə məcbur edə bilərsiniz: YENİLƏNİB cədvəl_adı SET not_key_column=# WHERE not_key_column=# LIMIT 1;
  • Çox böyük olan istənilən nəticələr #select_limit# sətirləri ilə məhdudlaşdırılır.
  • #max_join_size#-dən daha çox sətir kombinasiyası tələb oluna bilən SEÇİMlər dayandırılacaq.

MySQL müştəri istifadə etmək üçün bəzi faydalı məsləhətlər:

Bəzi məlumatlar çox istifadə olunan üfüqi çıxış pəncərəsi əvəzinə şaquli çıxış zamanı daha oxunaqlıdır. Məsələn, enindən daha uzun olan və çoxlu yeni sətirlərdən ibarət mətni şaquli görünüşdə oxumaq çox vaxt daha asandır.

Mysql> SEÇİN * MƏKTUBLARDAN HARƏDƏ LENGTH(txt) sbj: UTF-8 txt: >>>>> "Timble" == Timble Smith yazır: Timble> Salam. Məncə, bu yaxşı fikirdir. UTF-8 Thimble> və ya Unicode ilə tanış olan varmı? Əks halda, mən bunu TODO siyahısıma daxil edəcəm və Thimble>-in nə baş verdiyini görəcəyəm. Bəli, zəhmət olmasa bunu edin. Hörmətlə, Monty faylı: inbox-jani-1 hash: 190402944 Setdə 1 sıra (0,09 san)

  • Daxil olmaq üçün tee əmr seçimlərindən istifadə edə bilərsiniz. Bu, mysql üçün --tee=... variantından istifadə etməklə və ya tee əmrini daxil etməklə interaktiv şəkildə komanda xəttindən başlana bilər. Ekranda təqdim olunan bütün məlumatlar da göstərilən fayla əlavə olunacaq. Bu, proqramın sazlanması məqsədləri üçün çox faydalı ola bilər. Tee yardım proqramı qeyd əmri ilə əmr satırından deaktiv edilə bilər. Yenidən tee əmrini işə salmaq yenidən girişə imkan verəcəkdir. Əgər tee əmri parametri göstərilməyibsə, əvvəlki fayl istifadə olunacaq. Qeyd edək ki, tee əmri, növbəti əmrə daxil olmaq üçün əmr sorğusu görünməzdən əvvəl, yerinə yetirilən hər bir əmrdən sonra nəticələri fayla yazacaq.
  • --pager[=...] seçimindən istifadə edərək, Unix proqramlarından az, çox və ya digər oxşar proqramlardan istifadə edərək interaktiv şəkildə nəticələrə baxmaq və ya axtarış etmək mümkün oldu. Bu parametrdə arqumenti açıq şəkildə göstərməsəniz, mysql müştərisi PAGER mühit dəyişənini axtaracaq və dəyəri peycerə təyin edəcək. Peycer proqramı həm də peycer əmri ilə interaktiv komanda xəttindən işə salına və nopager əmri ilə dayandırıla bilər. Komanda arqument qəbul edə bilər, bu isteğe bağlıdır; peyjer bu arqumentin dəyərinə təyin ediləcək, peyjer əmri arqumentsiz çağırıla bilər, lakin bunun üçün --pager opsiyasının və ya müvafiq stdout parametrinin istifadəsi tələb olunur. Peycer əmri yalnız Unix-də işləyir, çünki o, Windows-da mövcud olmayan popen() funksiyasından istifadə edir. Windows-da əvəzinə tee parametrindən istifadə edə bilərsiniz, baxmayaraq ki, bəzi hallarda bu, peyjer əmrindən istifadə etməkdən daha az rahatdır.
  • Peycer əmri ilə bağlı bir neçə məsləhət: O, fayla yazmaq üçün istifadə edilə bilər: mysql> pager cat > /tmp/log.txt və nəticələr yalnız fayla göndəriləcək. Peycer əmri ilə çağırılan proqramlar istənilən etibarlı variantları qəbul edə bilər: mysql> pager less -n -i -S Yuxarıdakı misaldakı -S seçiminə xüsusi diqqət yetirin. Nəticələrə baxarkən çox faydalı ola bilər. Onu üfüqi çıxışla ("\g" və ya ";" ilə son əmrlər) və şaquli çıxışla ("\G" ilə son əmrlər) istifadə etməyə cəhd edin. Çox həcmli çıxış nəticələrini ekrandan oxumaq bəzən çətin olur, bu halda -S seçimi ilə daha az komanda nəticələrə interaktiv şəkildə soldan sağa baxmaq imkanı verəcək və xətlərin uzunluğu ekranın enindən böyük olanda görünəcək. ekran, onların çıxışı yeni bir xəttdən çıxmağa davam edəcək. Belə hallarda məlumat çıxışı daha oxunaqlıdır. "-S" seçimi ilə daha az əmrə interaktiv zəng etdikdə, onun iş rejimini (on/off) əmr xəttindən dəyişə bilərsiniz. Daha az məlumat üçün "h" əmrinin təsvirinə baxın.
  • Sonda qeyd edirik ki, (əgər əvvəlki nümunələrdən bunu hələ başa düşməmisinizsə) nəticələrin işlənməsinin çox mürəkkəb üsullarını birləşdirmək mümkündür. Beləliklə, aşağıdakı nümunədə nəticələr /dr1 və /dr2-də iki fərqli sabit diskə quraşdırılmış iki fərqli kataloqa göndəriləcək və bununla belə, nəticələr daha az əmrdən istifadə edərək ekranda görünə bilər: mysql> pager cat | tee /dr1/tmp/res.txt | \ tee /dr2/tmp/res2.txt | az -n -i -S
  • Yuxarıdakı funksiyalar da birləşdirilə bilər: tee-ni işə salmaqla və peycer-i daha az olaraq təyin etməklə, siz Unix daha az əmrindən istifadə edərək nəticələrə baxa və eyni zamanda fayla yaza bilərsiniz. Peycer proqramında istifadə edilən Unix utilitinin tee ilə mysql klientində quraşdırılmış tee əmri arasındakı fərq ondan ibarətdir ki, tee utiliti Unix-də mövcud olmasa belə, daxili tee əmri işləyir. Daxili tee əmri həmçinin ekranda göstərilən hər şeyi qeyd edir, halbuki peycerlə istifadə edilən Unix tee yardım proqramı bunu kifayət qədər etmir. Son, lakin vacib məqam ondan ibarətdir ki, fayla yazarkən bəzən bu funksiyanı söndürmək lazım gələrsə, interaktiv tee əmri rejimləri yandırmaq/söndürmək üçün daha əlverişlidir.

Siz mysql müştəri komanda xəttində sorğu formatını dəyişə bilərsiniz.

Aşağıdakı dəvət variantları mümkündür:

Seçim Təsvir
\vmysqld versiyası
\distifadə olunan verilənlər bazasının adı
\hqoşulmaq üçün host adı
\səlaqənin həyata keçirildiyi port nömrəsi
\uİstifadəçi adı
\Utam ünvan username@host
\\ tərs xətt `\"
\nyeni sətir simvolu
\tcədvəl
\ boşluq
\_ alt xətt ilə boşluq
\Rhərbi saat qurşağı (0-23)
\rstandart saat qurşağına uyğun vaxt (1-12)
\mdəqiqə
\yiki illik kateqoriyalar
\Ydörd illik kateqoriyalar
\Dtam tarix formatı
\ssaniyə
\wüç hərf formatında həftənin günü (Bazar ertəsi, Çərşənbə axşamı, ...)
\SGünorta/günortadan əvvəlki vaxt (am/p0)
\oay rəqəmli formatda
\Oüç hərf formatında ay (yanvar, fevral, ...)
\cDaxil edilmiş əmrlərin sayını hesablayan sayğac

Hər hansı digər hərfdən sonra gələn “\” simvolu sadəcə həmin hərfi tamamlayır.

Dəvət seçimlərini aşağıdakı yollarla təyin edə bilərsiniz:

Ətraf mühit dəyişənlərində Siz sorğu sətri üçün MYSQL_PS1 mühit dəyişənini təyin edə bilərsiniz. Məsələn: qabıq> ixrac MYSQL_PS1="(\u@\h) [\d]> " `mənim.cnf" `.my.cnf" Siz mysql qrupunda istənilən MySQL konfiqurasiya faylında sorğu seçimini təyin edə bilərsiniz. Məsələn: prompt=(\u@\h) [\d]>\_ Komanda xəttində Siz mysql komanda xəttindən --prompt seçimini təyin edə bilərsiniz. Məsələn: shell> mysql --prompt="(\u@\h) [\d]> " (user@host) > İnteraktiv şəkildə Siz həmçinin sorğu parametrlərini interaktiv şəkildə dəyişmək üçün prompt (və ya \R) əmrindən istifadə edə bilərsiniz. Məsələn: mysql> prompt (\u@\h) [\d]>\_ PROMPT "(\u@\h) [\d]>\_" (user@host) > (user@host) olaraq təyin edildi > prompt MySQL yardım proqramında orijinal (defolt) PROMPT parametrlərinə qayıdın> mysql>