MySQL - Windows konsol komutları. MySQL'in Windows Mysql Windows konsol komutlarına otomatik kurulumu

Merhaba sevgili blog okuyucuları, alışılagelmiş phpMyAdmin'i daha acımasız bir veritabanı yönetimi aracıyla değiştirmenin zamanı geldi. Bugün MySQL konsolu hakkında bilgi edineceğiz ve standart komutların yanı sıra veritabanı kurtarma komutlarının nasıl çalıştırılacağını öğreneceğiz. MySQL konsolu- bu standart bir DBMS'dir (Veritabanı Yönetim sistemi) MySQL için ürünle birlikte verilir.

MySQL konsolu ne zaman kullanışlı olabilir?

Acemi bir web programcısının bakış açısından, phpMyAdmin normal çalışma için gerekli tüm işlevleri yerine getirir. Sadece bir web programcısı değil, aynı zamanda kısmen bir arıza sonrasında veritabanını geri yüklemekle yükümlü bir sistem yöneticisi olduğunuzu hayal edin.

Bu durumda MySQL konsoluyla çalışma becerisi olmadan yapamazsınız. Biraz sonra konsolu kullanarak veritabanını geri yükleme komutlarına bakacağız, ancak şimdilik temel bilgilerle başlayalım.

MySQL konsolu nasıl başlatılır

MySQL klasöründe mysql.exe yardımcı programını bularak konsolu Windows Gezgini aracılığıyla başlatabilirsiniz. Genellikle şu adreste bulunur: [klasörün yolu]\mysql\bin\mysql.exe. Denver kullanıyorsanız, MySQL konsolu, şu yöne bakmalısınız:
C:\WebServer\usr\local\mysql\bin\mysql.exe

Windows Gezgini'ne ek olarak komut satırını da kullanabilirsiniz:

  • Cmd.exe'yi çalıştırın
  • Mysql.exe dosyasının tam yolunu yazın
  • Enter tuşuna basın

Bunun gibi bir şey görmelisiniz:

Hata, mysql konsolunu başlatmak için kullanıcının kullanıcı adını ve şifresini girmeniz gerektiğini belirtir. Denver ile çalışırken standart veritabanı kullanıcısı boş bir parolayla root'tur.
Yetkilendirme verilerini gösteren ek parametrelerle aynı komutu yürütün.

C:\WebServer\usr\local\mysql-5.1\bin\mysql.exe –u root –p

Her şey doğru yapılırsa " mesajını alacaksınız. MySQL konsoluna hoş geldiniz..."

Show Databases komutunu girerek veritabanı sunucusuna başarıyla bağlandığınızı doğrulayabilirsiniz; . Yürütülmesinin bir sonucu olarak, sunucuda bulunan veritabanlarının bir listesi görüntülenecektir.

Veritabanlarından birini seçip içindeki tabloların listesine bakmaya çalışalım:

testi kullanın; tabloları göster;

Örneğimde test veritabanından bahsediyorum; eğer elinizde yoksa mevcut herhangi bir veritabanına bakın.

Bir deneme olarak şu komutu kullanarak bir test veritabanı oluşturmayı deneyebilirsiniz:

veritabanı testi oluştur;

Bir mesaj alacaksınız: " SORGULAMA TAMAM, 1 satır etkilendi", test adlı veritabanının başarıyla oluşturulduğunu belirtir.

Şimdi test veritabanında bir sıra tablosu oluşturalım.

tablo testi oluştur ('id' int(11),'content' varchar(255));

Ve show table komutunu tekrar çalıştırın; Bu, tablonun gerçekten oluşturulduğunu ve onunla çalışmaya hazır olduğunu gösterir.

Ayrıca bir tabloda sütunların listesini görüntülemeyi de deneyebilirsiniz:

test.order'daki sütunları göster;

Tanıştığımızı sonuçlandıracak olursak MySQL konsolu, biraz sorgu çalıştıralım:

test.siparişinden * SEÇİN;

Sevgili okuyucular, sizi tebrik ediyorum, artık phpMyAdmin olmadan MySQL ile çok basit koşullarda çalışabilirsiniz. İşte günlük komutların bir listesi:

  • DB_NAME VERİTABANI OLUŞTURUN; — yeni bir veritabanı oluşturun;
  • VERİTABANLARINI GÖSTER; — mevcut veritabanlarının görüntülenmesi;
  • DB_NAME'İ KULLANIN; — veritabanını seçin;
  • TABLOLARI GÖSTER; — tüm tabloları görüntüleyin;
  • TABLE_NAME'DEN SÜTUNLARI GÖSTER; — sütunları ve özelliklerini görüntüleme;
  • CREATE TABLE TABLE_NAME (`ID` INT(11),`NAME` VARCHAR(255));— bir tablo oluşturmak;
  • ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT(11);— tabloya bir sütun ekleyin;
  • ALTER TABLE TABLE_NAME DROP COLUMN_NAME;— tablodan bir sütunu kaldırın;
  • MYSQL -UUSERNAME -PPASSWORD -HHOST DB_NAME — veritabanını doldurun;
  • MYSQLDUMP -UUSERNAME -PPASSWORD -HHOST DB_NAME > FILE_NAME.SQL— bir veritabanı dökümü yapın;
  • ÇIKIŞ YAPMAK; — MySQL konsolundan çıkın.

MySQL konsolu aracılığıyla tabloları geri yükleme komutları

Yazının başında söz verdiğim gibi tabloları geri yükleme komutlarını yayınlıyorum. Bu komutlar bir sunucu arızasından sonra faydalı olabilir.

Popüler veritabanı yönetim sistemi MySQLÖncelikle İnternet barındırma alanında fiili bir standart olarak çeşitli ihtiyaçlar için yaygın olarak kullanılmaktadır. Bu DBMS'yi yönetme paketi daha az yaygın değildir - phpMyAdmin. Şüphesiz, bu iyi ve kullanışlı bir üründür, ancak çoğu zaman bu ürünle çalışma becerileri, DBMS ile çalışma becerilerinin yerini tamamen alır. Bu nedenle, bu materyalde okuyucularımıza temel MySQL yönetim görevlerinin komut satırından nasıl gerçekleştirileceğini tanıtmaya karar verdik.

Düzenli okuyucularımızın fark etmiş olabileceği gibi, ne kadar kullanışlı ve yaygın olursa olsun, çeşitli kontrol paneli türlerinin yeni başlayanlar tarafından kullanılmasına sürekli olarak karşı çıkıyoruz. Aynı zamanda onların varlığını da inkar etmiyoruz ve günlük faaliyetlerimizde onları zevkle kullanıyoruz.

Ancak büyük bir fark var: Paneli kullanarak komut satırıyla nasıl çalışılacağını bilen bir uzman, ürünle çalışma yeteneğinin yerini almaz, yalnızca günlük görevleri yerine getirmesini kolaylaştırır. Ve paneldeki tüm eylemleri gerçekleştirmeye alışkın olan yeni başlayan, eğer erişilemiyorsa sessiz bir paniğe kapılır, çünkü şimdi bu anlaşılmaz siyah konsola bazı "büyüler" girmesi gerekiyor...

Aslında, komut satırı düzeyinde bir DBMS ile çalışmak hiç de zor değildir ve bazı yönetim görevlerinin burada gerçekleştirilmesi daha kolay ve daha uygundur. Hemen rezervasyon yapalım: Yönetim derken veritabanlarının kendisini değil, DBMS sunucusunun yönetimini kastediyoruz. Elbette onlarla komut satırından da çalışabilirsiniz ancak bunun için daha uygun araçları kullanmak daha iyidir.

MySQL'de Veritabanlarını ve Kullanıcıları Yönetme

Ocaktan itibaren dans etmeye başlamanız gerekiyorsa, bir DBMS ile çalışmaya veritabanları ve bu veritabanlarının kullanıcılarını oluşturmakla başlamalısınız. Görevler aslında basittir ve konsoldan mükemmel bir şekilde ve en önemlisi basit bir şekilde çözülebilir. Aynı isimde bir yardımcı program MySQL sunucusuyla çalışacak şekilde tasarlanmıştır MySQL etkileşimli modda çalışıldığı için önce sunucuya bağlanacağız:

MySQL -u kök -p

-u anahtarının kullanıcı adını belirttiği ve -p'nin parola kimlik doğrulamasını belirttiği durumlarda, komut sözdizimi, parolayı anahtardan hemen sonra boşluksuz girerek belirtmenize olanak tanır, ancak bu durumda parola, komut geçmişine kaydedilecektir; tamamen iyi değil, bu nedenle şifreyi etkileşimli olarak girmek daha iyidir. Bu komutu yürüttükten sonra, değişen komut satırı isteminde de belirtildiği gibi kendimizi MySQL ortamında bulacağız.

Bu ortamda çalışmanın kendine has özellikleri vardır: Her komut sembolüyle bitmelidir ; veya \G Bu arada, selamlamanın ilk satırında bunun hakkında yazıyor. Bu moddan şu komutla çıkılır:

Çok sık yapılan bir hatadan bahsedelim: komutun sonuna noktalı virgül koymayı unutmak. Ne yapalım? Önemli değil, sadece bir sonraki satırdaki eksik karakterleri doldurun.

Öncelikle veritabanlarının listesine bakalım:

Veritabanlarını göster;

Dedikleri gibi, gereksiz ayrıntılar olmadan, ancak çoğu idari görev için bu yeterlidir:

Kullanıcı listesini bulmak biraz daha zordur; hizmet veritabanı tablosu biçiminde saklanır MySQL, bu yüzden küçük bir istek yazıyoruz:

Mysql.user'dan kullanıcıyı, ana bilgisayarı seçin;

Takım seçme belirtilen sütunları seçer kullanıcı, ana bilgisayar from seçeneği bunları nereden seçtiğimizi belirtir, yani veritabanının kullanıcı tablosundan MySQL.

İlk sütun kullanıcıyı, ikincisi ise bu kullanıcının bağlanmasına izin verilen ana bilgisayarı belirtir. % - herhangi bir değeri belirtir. Lütfen şunu unutmayın: İvanov ayarlarda var yerel ana bilgisayar, ardından bağlanıldığında MySQL adrese göre 127.0.0.1 erişim sağlayamayacaktır, uygulamalarınızda DBMS sunucusuna bağlantı verilerini belirlerken bu durumun dikkate alınması gerekir.

Aşağıdaki sorguyu kullanarak veritabanı sahiplerini görüntüleyebilirsiniz:

Mysql.db'den ana bilgisayar, db, kullanıcı'yı seçin;

Burada özel bir yoruma gerek yoktur. Örneğin, İvanovöneki olan veritabanları üzerinde haklara sahiptir ivanov_ aracılığıyla bağlandığında yerel ana bilgisayar, ve andrey bir önekle üslere andrey_ herhangi bir ana bilgisayarda. Kullanıcı ayrıcalıklarını şu komutla görüntüleyebilirsiniz:

"ivanov"@"localhost" için hibeleri göster;

Kullanıcı adını ve ana bilgisayarı tek tırnak içine alıyoruz.

İlk satır, belirtilen kullanıcının ayrıcalıklara sahip olmadığını bildirir ( KULLANIM) herhangi bir veritabanındaki herhangi bir tabloya ( *.* ), ikinci satırda öneki olan tüm veritabanlarının tüm tabloları için tüm ana ayrıcalıklardan bahsediliyor ivanov_.

MySQL hak sisteminin ayrıntılı bir analizi bu makalenin kapsamının çok ötesine geçiyor, şunu söyleyelim: TÜM AYRICALIKLAR kullanıcıya veritabanlarının tüm haklarını verir ancak diğer kullanıcıların erişim haklarını yönetmesine izin vermez. Bunu yapmak için bir dizi hak kullanılır TÜM AYRICALIKLARHİBE SEÇENEĞİ İLE, varsayılan olarak kök. Basit bir kullanıcı için bu haklar gereksizdir.

Yeni bir kullanıcı oluşturmayı deneyelim:

"şifre" ile tanımlanan "petrov"@"localhost" kullanıcısını oluşturun;

Komutun sözdizimi basittir, kullanıcı adını ve ana bilgisayarı ve ayrıca kimlik verilerini bir şifre biçiminde belirtiriz. İletilen tüm değerler tek tırnak içine alınır. Bir kullanıcı oluşturduktan sonra ona haklar atamanız gerekir, bu komutla yapılır. HİBE ETMEK. İlk olarak, onu diğer insanların veritabanlarına ilişkin ayrıcalıklardan açıkça mahrum bırakacağız:

*.* üzerinde kullanım iznini "petrov"@"localhost"a verin;

Daha sonra, kendi takdirimize bağlı olarak hakları ayarlayabiliriz; örneğin, bir ad şablonuyla veritabanlarına tam haklar verebiliriz. petrov_:

`petrov\_%`.* üzerindeki tüm ayrıcalıkları "petrov"@"localhost"'a verin;

Lütfen desenin karakterlerle sarılması gerektiğini unutmayın. ağırbaşlılık (` ), anahtarın üzerinde Rusça E harfi bulunan.

Ayrı bir veritabanına şu şekilde haklar verebilirsiniz:

andrey_drupal8.* üzerindeki tüm ayrıcalıkları "petrov"@"localhost"a verin;

Hakları seçmek için benzer sözdizimine sahip olan REVOKE komutunu kullanın. ile (kime), şununla değiştirin: itibaren (DSÖ). Örneğin:

"petrov"@"localhost" adresinden andrey_drupal8.* üzerindeki tüm ayrıcalıkları iptal edin;

MySQL sunucusunun hakları uygulayabilmesi için, ayrıcalık önbelleğini şu komutla yeniden yüklemeye zorlamalısınız:

Flush ayrıcalıkları;

Ayrıca kullanıcı şifresini de değiştirmeniz gerekebilir:

"petrov"@"localhost" için şifre belirleyin = şifre("yenişifre");

Yeniden adlandırın ve yeniden adlandırmak mutlaka kullanıcı adını değiştirmek anlamına gelmez; hem adı hem de ana bilgisayarı herhangi bir kombinasyonla değiştirebilirsiniz:

"petrov"@"localhost" kullanıcısını "petr"@"127.0.0.1" olarak yeniden adlandırın;

Ve son olarak hesabı silin:

"petr"@"127.0.0.1" kullanıcısını bırakın;

Kullanıcılardan veritabanlarına geçelim; en basit durumda yeni bir veritabanı oluşturmak için şu komut yeterlidir:

Petrov_newdb veritabanını oluşturun;

Bu, varsayılan kod sayfasına ve karşılaştırma kodlamasına sahip bir veritabanı oluşturacaktır. DBMS sunucusu ayrı olarak yapılandırılmamışsa, bu kodlama büyük olasılıkla latin1_swedish_ci, bazı durumlarda şimdi olmasa bile gelecekte sorunlara neden olabilir; bu nedenle, veritabanını oluştururken kodlamayı açıkça belirtmek iyi bir genel kuraldır. UTF-8 için şöyle olurdu:

Veritabanı oluştur petrov_newdb varsayılan karakter kümesi utf8 harmanla utf8_general_ci;

Windows-1251 için:

Veritabanı oluştur petrov_newdb varsayılan karakter seti cp1251 harmanla cp1251_general_ci;

Veritabanını kaldırmak için şunu kullanın:

Petrov_newdb veritabanını bırakın;

MySQL veritabanlarındaki hataları kontrol etme, optimize etme ve düzeltme

MySQL aktif olarak çalıştığı için veritabanları parçalanabilir ve tablo verilerinde hatalar içerebilir. Şimdi ciddi arızalardan bahsetmiyoruz, bu tür durumlar ayrı ayrı ele alınmalıdır, ancak DBMS'nin kendisi kullanılarak başarılı bir şekilde ortadan kaldırılabilecek en basit hatalardan bahsediyoruz. Kontrol etmek, onarmak ve optimize etmek için mysqlcheck yardımcı programını kullanmak uygundur.

Veritabanını kontrol etmek için nerede yapın andrey_drupal8- veri tabanı ismi:

Mysqlcheck -u root -p --check andrey_drupal8

Tüm veritabanları şu komutla aynı anda kontrol edilebilir:

Mysqlcheck -u root -p --check --all-databases

Ve çıktının tamamı büyük olasılıkla ekrana sığmayacağından, onu komuta yönlendirmek mantıklı olacaktır. az:

Mysqlcheck -u root -p --check --all-databases | az

dikkat az okları kullanarak çıktıyı hem aşağı hem de yukarı kaydırmanıza olanak tanır, çıkmak için tuşuna basın Q.

Veritabanlarının herhangi birinde hatalar bulunursa, bunları düzeltmeye çalışmalısınız, bunu yapmak için şunu belirtin:

Mysqlcheck -u root -p --auto-repair andrey_drupal8

Optimize etmek için tuşunu kullanın - -optimize etme, tek bir veritabanını veya birkaçını optimize edebilirsiniz, bunu yapmak için bunları anahtardan sonra listeleyin --veritabanları:

Mysqlcheck -u root -p --optimize --databases andrey_drupal8 petrov_newdb

ve ayrıca hepsi birden:

Mysqlcheck -u root -p --optimize --all-databases

MySQL veritabanı dökümlerini yükleme ve yükleme

Herhangi bir DBMS'yi yönetirken diğer bir yaygın görev, veritabanı dökümlerinin hem yedekleme hem de kopyaların aktarılması veya oluşturulması için kullanılmasıdır. Yedekleme otomatikleştirilmiş bir işlemse, başka bir sunucuya aktarılmak üzere veya veritabanı yapısına herhangi bir önemli müdahale öncesinde kopyaların oluşturulmasının manuel olarak yapılması gerekir.

Ve eğer konu büyük veritabanlarıysa, o zaman burada phpMyAdmin kötü bir yardımcı, komut dosyalarının yürütme süresini, indirilen dosyanın boyutunu, kullanılabilir belleği vb. etkiler. Ve bunu kullanarak hala büyük bir dökümü karşıya yükleyebilseniz de, onu geri yükleyemeyebilirsiniz.

Dökümler oluşturarak başlayalım; yardımcı program bu amaçlar için kullanılır mysqldump, sözdizimi sözdizimini takip eder mysqlcheck. Dökümü indirmek için şu komutu kullanın:

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

Birden fazla veritabanını aynı anda kaldırmak için tuşunu kullanın. --veritabanları veya --tüm-veritabanları aynı anda tüm veritabanlarının bir dökümünü oluşturmak için. Komutun çıktısı bir dosyaya gönderilmeli ve konumu belirtilmelidir, bizim durumumuzda bu dosyadır drupal8.sql ana dizininizde. Ayrıca çıktıyı arşivleyiciye aktarabilir ve arşivi hemen alabilirsiniz:

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

Genel olarak, birden fazla veritabanı için bir dökümün aynı anda kullanılmasını önermiyoruz; en iyi seçenek, her veritabanı için aynı anda bir anahtar kullanılarak kendi dökümünün kullanılması olacaktır. --tüm-veritabanlarıÖrneğin bir DBMS'yi güncellerken veya yeniden yüklerken, tüm sunucunun bir yedek kopyasını hızlı bir şekilde oluşturmanız gereken durumlarda haklıdır, böylece bir şeyler ters giderse bilgileri hızlı bir şekilde geri yükleyebilirsiniz.

Veritabanını geri yüklemek için dökümü mysql yardımcı programının girişine göndermeniz gerekir; tek dökümler için her zaman hedef veritabanını belirtmelisiniz, örneğin:

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

Hedefin mutlaka kaynak veritabanı olması gerekmez, ancak veritabanı zaten mevcutsa tüm içeriğinin dökümün içeriğiyle değiştirileceğini unutmayın.

Birden fazla veritabanı içeren dökümler için şunları belirtmeniz yeterlidir:

MySQL -u kök -p< ~/all.sql

Bu durumda her veritabanı kendi kaynağına yüklenecek, kaynak veritabanı yoksa oluşturulacaktır.

Gördüğünüz gibi, komut satırını kullanarak dökümler oluşturmak ve geri yüklemek tam anlamıyla tek bir satırda gerçekleşir ve phpMyAdmin veya benzeri araçları kullanmaktan çok daha kolay ve hızlıdır.

Unutulan bir MySQL root şifresini kurtarma

Bir başka çok popüler görev. Hemen diyelim ki, MySQL süper kullanıcı şifresini diğer kullanıcılar gibi kurtarmanın imkansız olduğunu, ancak onu değiştirebilirsiniz. Bunu yapmak için işletim sisteminde süper kullanıcı haklarına sahip olmanız gerekir. Öncelikle DBMS hizmetini durduralım:

Hizmet MySQL durağı

Daha sonra ayrıcalık tablolarını atlayarak güvenli modda çalıştırıyoruz:

Mysqld_safe --skip-grant-tables &

Bu komutu yürüttükten sonra komut satırı isteminin kaybolacağını ve yalnızca yanıp sönen bir imleç bırakacağını lütfen unutmayın. Doğrudan oraya yazıyoruz:

MySQL -u kökü

ve şifre girmeden root haklarına sahip mysql ortamında buluyoruz kendimizi.

Bize öyle geliyor ki çoğu kişi bundan sonra ne yapılacağını zaten tahmin etti, ancak şifreyi belirle bu modda çalışmaz, bu yüzden farklı bir yola gitmeniz gerekir. Kullanıcılar hakkındaki bilgilerin bir tabloda saklandığını unutmayın kullanıcı hizmet veritabanı MySQL. Daha sonra aşağıdaki sorguyu çalıştırıyoruz:

Mysql.user'ın parolayı = parolayı ("yeni parola") ayarlamasını güncelleyin; burada user="root";

Önemli! MySQL'in yeni sürümlerinde sütun yerine şifre tablolar kullanıcı sütun kullanılır kimlik doğrulama_dizesi, bunun yerine şifreyi belirle belirtilmeli kimlik doğrulama_dizgesini ayarla.

Bu istek yeni bir şifre belirleyecek Yeni Şifre bir sütundaki tüm satırlar için kullanıcı listelenenler kök.

Ayrıcalık önbelleğini güncelleyelim:

Flush ayrıcalıkları;

Moddan çıkalım:

Hizmeti durdurup normal modda başlatalım:

Hizmet MySQL durağı
hizmet mysql başlangıcı

Bu makaleyi okuduktan sonra komut satırından MySQL ile çalışma konusunda ilk becerileri edineceğinizi ve phpMyAdmin mevcut olmadığında bile kendinize güvenebileceğinizi ve hatta konsol komutlarının rahatlığını takdir edebileceğinizi ve giriş yapma olasılığınızın daha düşük olacağını umuyoruz. sunucuyu doğrudan yönetmeyi tercih ederek panel.

  • Etiketler:

Görüntülemek için lütfen JavaScript'i etkinleştirin

Her şeyin zaten kurulu olduğunu varsayalım ve şimdi çalışmaya başlayacağız.
Bağlanalım:
ceval@srv:~$ mysql -pPASSWORD
-p, --şifre=— MySQL sunucusuna bağlanmak için kullanıcı şifresi. -p ile şifre arasında boşluk olmamalıdır.
-u, --user=- MySQL sunucusuna bağlanmak için kullanıcı adı. İsteğe bağlı, varsayılan, oturum açma bilginizle aynıdır. Oturum açma adı, MySQL sunucusuna bağlanmak için kullanılan kullanıcı adından farklıysa kullanılır.
$ mysql -u ceval_ -pPASSWORD
Şifremizi doğru girdiysek aşağıdaki satır ve komutları göreceğiz:

MySQL monitörüne hoş geldiniz. Komutlar ile biter; veya\g.
Sunucu sürümü: 5.0.45-Debian
Yardım için 'yardım;' veya '\h' yazın. Arabelleği temizlemek için '\c' yazın.
mysql>

İhtiyacımız olan veritabanını cp1251 kodlaması ile oluşturuyoruz; belirtilen kodlama gerekli olanla değiştirilebilir:
VERİTABANI OLUŞTUR db_name VARSAYILAN KARAKTER SETİ cp1251 VARSAYILAN HARMANLA cp1251_general_ci;
Bir veritabanını kaldırmak:
DROP DATABASE db_name;
Üs değişikliği
'Veritabanı' KULLANIN;
Veritabanından bir tabloyu kaldırmak
DROP TABLE 'db_table';
Biraz daha:
->\g veritabanlarını göster; // orada hangi veritabanlarının olduğuna bakın
->\g veritabanı uydusu oluştur; //yeni bir veritabanı oluştur
->\g veritabanlarını göster; //oluşturulup yaratılmadığını kontrol ediyoruz
->\q // Çıkış

MySQL'in farklı sürümleri farklı komutlara (4 ve 5) sahip olabilir, bu durumda \g - sunucuya bir SQL betiğini çalıştırma komutu verir
MySQL ubuntu ile çalışan bir MySQL veritabanını yükleme, kaydetme (yedekleme, geri yükleme)
Veritabanını kayıtlı verilerle yükleyin (eğer veriler kaydedilmişse). Örneğin baza.sql dosyasına kaydedilirler.
MySQL
->\g veritabanlarını göster;
->\u baza;
->\. /home/backup/baza.sql
->\q
/home/backup/baza.sql — yedekleme dosyasının yolu
[b]Veri içeren veritabanını baza.sql dosyasına kaydedin
mysqldump baza > /home/backup/baza.sql;
Veritabanı saklanır: /var/lib/mysql/baza- Veritabanının tamamını silmek için bu dizini silmeniz yeterlidir.
Çeşitli şekillerde yapılabilir:
— ssh aracılığıyla bağlanın ve komut satırı aracılığıyla çalışın;
- phpmyadmin'i kullanın;
- mysql-admin paketini kullanın - bu, grafiksel bir MySQL yönetim yardımcı programıdır (sezgisel MySQL yönetimi için GUI aracı)
MySQL)
Şimdi paketi kuralım mysql-admin araba başına
sudo yetenek kurulumu mysql-admin
Daha sonra uzaktaki makineye gidip [b]my.cnf yapılandırmasını düzenliyoruz
$ sudo nano /etc/mysql/my.cnf
Başlamak için şunları kontrol edebilirsiniz:
$ netstat -an | Grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* DİNLE
Çıktıdan görebileceğiniz gibi, MySQL şu anda localhost'ta dinliyor, ancak MySQL'in yalnızca localhost'ta değil tüm arayüzlerde dinlemesine ihtiyacımız var, bu yüzden aşağıdaki girişi bulup düzenliyoruz:

[...]
# Ağ atlamak yerine varsayılan ayar artık yalnızca dinlemektir
# localhost daha uyumlu ve daha az güvenli değil.
bağlama adresi = 127.0.0.1
#
[...]

MySQL'in tüm arayüzleri dinlemesi için şu satırı yorumlayalım:
[...]

#bağlama adresi = 127.0.0.1:

[...]
MySQL'i durduralım:
$ sudo /etc/init.d/mysql yeniden başlat
Ve komut çıktısına tekrar bakalım:
$ netstat -an | Grep 3306
Çıktı şu şekilde görünmelidir:

tcp 0 0 0.0.0.0:3306 0.0.0.0:* DİNLE

ve artık MySQL ile uzaktan çalışmak için mysql-admin'i çalıştırabilirsiniz - Alt+F2 - mysql-admin
veya
$mysql-admin
MySQL ubuntu ile çalışmak

Win 32 için dağıtımı seçin: Windows (x86, 32-bit), Zip-Arşiv.

Win 64 için: Windows (x86, 64 bit), Zip-Arşiv.

İndir butonuna tıkladıktan sonra bir kayıt formu göreceksiniz, aşağıdaki bağlantıya tıklayarak bu formu atlayabilirsiniz - Hayır teşekkürler, beni indirilenler bölümüne götür.

2. Bir kurulum klasörü oluşturun. Örneğin . Ve arşivin içeriğini klasörlerin içinde olacak şekilde açın. çöp kutusu, veriler, belgeler ve diğerleri kurulum klasörünün kökündeydi.

3. Bir yapılandırma dosyası (my.ini) oluşturmaya geçelim. Standart dosyalardan birini temel alıyoruz:

  • my-small.ini - MySQL'i zaman zaman kullanan ve sunucunun çok fazla kaynak kaplamasını istemeyenler için uygundur.
  • my-medium.ini de düşük kaynaklı bir yapılandırmadır ancak MySQL'i düzenli olarak kullananlar için uygundur (ev web sunucusu için iyi bir seçim).
  • my-large.ini ve my-huge.ini - özel MySQL sunucusu olarak kullanılan sistemler için. Ancak, ek MySQL performansına ihtiyacınız varsa, my-large.ini bir ev sunucusu için kullanılabilir (512 MB RAM bugünlerde çok fazla değil).
  • my-innodb-heavy-4G - en az 4 GB RAM'e sahip ve yalnızca InnoDB tablolarını kullanan özel sunucular için.

Bu örnekte temel olarak my-medium.ini'yi seçtim. My.ini olarak yeniden adlandırın ve kurulum klasörünün kök dizinine yerleştirin ( C:\Program Dosyaları\MySQL\MySQL Sunucusu 5.5).

Düzenleme için açın (normal Not Defteri'nde) ve satırın hemen sonrasına iki parametre ekleyin:

Basedir=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/data

Yollarda ters eğik çizgi (\) yerine eğik çizgi (/) kullanıldığını unutmayın.

basedir kurulum klasörünün yoludur.

datadir - veri klasörünün yolu (tüm veritabanlarının depolandığı yer). Bazen performansı artırmak veya güvenilirliği sağlamak için verileri ayrı bir diske koymak mantıklı olabilir.

Her ihtimale karşı, değişiklikleri yaptıktan sonra yapılandırma dosyasının bir parçası burada:

# MySQL sunucusu basedir=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/data port = 3306 soket = /tmp/mysql.sock skip-external-locking key_buffer_size = 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 myisam_sort_buffer_size = 8M

4. Bir sonraki adım yolu eklemektir C:\Program Dosyaları\MySQL\MySQL Sunucusu 5.5\bin MySQL'in komut satırından başlatılmasını kolaylaştırmak için PATH ortam değişkenine. Bunu yapmak için Gelişmiş sekmesinde Sistem Özellikleri -> Ek sistem ayarları -> açın, en alttaki “Ortam Değişkenleri…” düğmesini tıklayın. Açılan pencerede Path'i bulana kadar sistem değişkenleri arasında ilerleyin. Bu satırı seçin ve “Değiştir...”e tıklayın. Satırın sonuna mevcut parametreleri koruyarak yolumuzu ekliyoruz:

Yolların noktalı virgülle ayrıldığını unutmayın. Yolunuzun başında ve sonunda noktalı virgül olduğundan emin olun.

5. Bir test çalıştırması gerçekleştirmeden önce, Windows Güvenlik Duvarı'nda gelen TCP bağlantı noktası 3306'yı açın:

Sisteminizde ek bir güvenlik duvarı kuruluysa, gelen bağlantılar için 3306 numaralı TCP bağlantı noktasını da açmalısınız.

6. Şimdi bir test çalıştırması gerçekleştiriyoruz. Yönetici olarak başlatılan komut satırında (Seven veya Vista'da UAC etkinse bu gereklidir), şunu çalıştırın:

Mysqld --konsol

Ekranda birkaç satır görüntülenecektir. Başlatma başarılı olursa son satır şöyle görünecektir:

Sürüm: "5.5.9-log" soket: "" bağlantı noktası: 3306 MySQL Topluluk Sunucusu (GPL)

Bu pencereyi açık bırakın ve şunu gireceğimiz başka bir komut satırı penceresi açın:

MySQL -u kökü

Bağlantı başarılıysa bir komut istemi göreceksiniz: mysql>

Hangi veritabanlarına sahip olduğumuzu görelim:

Veritabanlarını göster;

SQL sorgusunun sonundaki noktalı virgül ZORUNLUDUR!

Ekibin yanıtı:

Artık nihayet sunucunun çalıştığına ikna olduk.

7. Bir sonraki adıma geçelim - MySQL yönetici şifresini (kök kullanıcı) ayarlamanız gerekiyor. Varsayılan olarak belirlenmiş bir şifre yoktur ve bunun düzeltilmesi gerekir. Aynı MySQL penceresine aşağıdaki komutları girin:

Mysql UPDATE kullanıcısını kullanın SET şifresi = PASSWORD("your_password") WHERE user = "root";

Sonucu kontrol edelim:

Kullanıcıdan kullanıcıyı, ana bilgisayarı ve şifreyi SEÇİN;

Ekran görüntüsünde görebileceğiniz gibi şifre sütunu doldurulmuştur, bu da şifrenin ayarlandığı anlamına gelir.

Çıkmadan önce şu komutu çalıştırın:

FLUSH AYRICALIKLARI;

Artık bağlanırken bir şifre girmeniz gerekir. Bunu yapmak için -p anahtarını kullanın:

MySQL -u kök -p

MySQL'i kapatmak için şunu çalıştırın:

Mysqladmin -u root -p kapatma

8. Son adım MySQL'i bir Windows sistem hizmeti olarak başlatmaktır.

Sistemde aktif MySQL işlemlerinin olmadığından emin olun.

Yönetici olarak çalışan komut satırında şunu çalıştırın:

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

MySQL'in yolu tam olarak belirtilmelidir (PATH'de listelenmiş olsa bile)!

Hizmeti başlatmak için “Bilgisayar Yönetimi”ni açın ve MySQL hizmetini manuel olarak başlatın:

Veya komut satırı aracılığıyla daha kolay:

Net başlangıç ​​mysql

Bir hizmeti kaldırmak için önce onu durdurun:

Net durdurma mysql

ve yürütün:

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

Aşağıda en kullanışlı ve sık kullanılan komutların bir listesi bulunmaktadır. MySQLörneklerle.

Satırın başındaki mysql, komutun giriş yaptıktan sonra yürütüldüğü anlamına gelir MySQL.

Satırın başındaki # veya $ sembolü, komutun komut satırından yürütüldüğü anlamına gelir.

Sunucu durumunu kontrol etmek için MYSQL Yapmak:

İçin ÜcretsizBSD:

# hizmet mysql-sunucu durumu

V CentOS/RHEL:

# hizmet mysqld durumu

MySQL sunucu ise konsoldan MySQL aynı ana bilgisayarda:

Sunucuya bağlanmak için MySQL sunucu ise konsoldan MySQL db1.example.com uzak ana bilgisayarında bulunur:

$ mysql -u kullanıcı adı -p -h db1.example.com

Veritabanları ve tablolarla çalışma - kayıtları görüntüleme, silme, düzenleme. Konsol

Üzerinde bir veritabanı oluşturun MySQL sunucu:

MySQL veritabanı oluştur

Sunucudaki tüm veritabanlarının listesini göster MySQL:

mysql kullanımı;

Veritabanındaki tüm tabloları görüntüle:

Mysql tabloları gösterir;

Veritabanındaki tablo formatını görüntüleyin:

mysql'in açıklaması;

Veritabanını sil:

MySQL bırakma veritabanı;

Veritabanından bir tabloyu silin:

MySQL bırakma tablosu;

Tüm tablo içeriğini göster:

Mysql SELECT * FROM ;

Seçilen tabloda sütunları ve sütun içeriklerini görüntüleyin:

MySQL ;'den sütunları gösterir;

Satırları " ne olursa olsun " içeren belirli bir tabloda görüntüleyin:

Mysql SELECT * FROM WHERE = "her neyse";

Tüm kayıtları "Bob" ve "3444444" telefon numarasını içeren belirli bir tabloda görüntüleyin:

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

Tüm girişleri göster, OLUMSUZ"Bob" adını ve "3444444" telefon numarasını içeren, telefon_numarası alanına göre sıralanmış:

Mysql SELECT * FROM WHERE name != " Bob " AND telefon_numarası = " 3444444 " telefon_numarası'na göre sırala;

"bob" harfleriyle ve "3444444" telefon numarasıyla başlayan tüm girişleri belirli bir tabloda gösterin:

Mysql SELECT * FROM WHERE adı, örneğin "Bob %" VE telefon_numarası = "3444444";

"bob" harfleriyle ve "3444444" telefon numarasıyla başlayan tüm girişleri göster, girişleri 1'den 5'e kadar sınırla:

Mysql SELECT * FROM WHERE adı "Bob %" VE telefon_numarası = "3444444" limiti 1,5 gibi;

Kayıtları aramak için normal ifadeleri ("REGEXP BINARY") kullanma. Örneğin, büyük/küçük harfe duyarlı olmayan bir arama için A harfiyle başlayan tüm kayıtları bulun:

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

Tüm benzersiz girişleri göster:

Mysql FARKI SEÇİN; mysql SELECT , ORDER BY DESC'DEN;

Tablodaki satır sayısını gösterin:

Mysql SELECT COUNT(*) FROM ;

MySQL SELECT SUM(*) FROM ;

Bir sütunu kaldırmak:

MySQL tablo bırakma sütununu değiştirir;

Veritabanına sütun ekleme:

MySQL değiştirme tablosu ekleme sütunu varchar(20);

Sütun adını değiştirme:

Mysql alter tablosu değişikliği varchar(50);

Yinelenen adlardan kaçınmak için benzersiz ada sahip bir sütun oluşturun:

MySQL değiştirme tablosu benzersiz ekleyin();

Bir sütunu yeniden boyutlandırma:

Mysql tabloyu değiştir VARCHAR'ı değiştir(3);

Bir tablodan bir sütunu kaldırmak:

MySQL tablo bırakma indeksini değiştirir;

Mysql VERİ YÜKLEMESİ " /tmp/filename.csv " INTO TABLO ALANLARI TARAFINDAN SONLANDIRILDI," SATIRLAR "n" TARAFINDAN SONLANDIRILDI (alan1,alan2,alan3);

MySQL sunucusu kullanıcıları, şifreleri - kullanıcı ve şifre ekleme, değiştirme. Konsol

Yeni bir kullanıcı oluşturma - sunucuya bağlanma MySQL root olarak, veritabanına geçiş yapın, kullanıcı ekleyin, ayrıcalıkları güncelleyin:

# mysql -u root -p mysql mysql'i kullanır; mysql INSERT INTO user (Ana Bilgisayar, Kullanıcı, Şifre) VALUES("%"," kullanıcı adı ", ŞİFRE(" şifre ")); mysql temizleme ayrıcalıkları;

Kullanıcı parolasının uzak anasistem db1.example.org üzerindeki konsoldan değiştirilmesi:

# mysqladmin -u kullanıcı adı -h db1.example.org -p şifre " yeni şifre "

Kullanıcı şifresini konsoldan değiştirme MySQL- root olarak bağlanın, şifreyi güncelleyin, ayrıcalıkları güncelleyin:

# mysql -u root -p mysql " kullanıcı "@" ana bilgisayar adı İÇİN ŞİFRE AYARLA " = ŞİFRE(" şifreburaya "); mysql temizleme ayrıcalıkları;

Kök sunucu parolasını kurtarma/değiştirme MySQL- durmak MySQL, ayrıcalık tabloları olmadan başlayın, root olarak bağlanın, yeni bir şifre belirleyin, çıkın ve yeniden başlatın MySQL.

# /etc/init.d/mysql stop # mysqld_safe -skip-grant-tables & # mysql -u root mysql mysql kullanımı; mysql güncelleme kullanıcısı şifreyi belirledi=ŞİFRE(" yenikökşifre ") burada Kullanıcı="kök"; mysql; ayrıcalıkları temizleme; mysql çık # /etc/init.d/mysql stop # /etc/init.d/mysql start

Kök parolası varsa bir kök parolası belirleyin.

# mysqladmin -u root şifresi yenişifre

Kök şifresini güncelleyin:

# mysqladmin -u root -p eskişifre yenişifre

Yerel ana bilgisayardan sunucuya "passwd" parolasıyla bağlanma hakkını ayarlama - alt köke bağlanma, veritabanına geçiş, ayrıcalıkları ayarlama, ayrıcalıkları güncelleme:

# mysql -u root -p mysql mysql'i kullanır; mysql, " passwd " ile tanımlanan bob @localhost'a *.* üzerinde kullanım izni verir; mysql temizleme ayrıcalıkları;

Veritabanını kullanmak için kullanıcı ayrıcalıklarını ayarlama - root olarak bağlanma, veritabanına geçiş yapma, ayrıcalıkları ayarlama, ayrıcalıkları güncelleme:

# mysql -u root -p mysql mysql'i kullanır; mysql db'ye INSERT (Ana Bilgisayar, Veritabanı, Kullanıcı, Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv, Drop_priv) DEĞERLER ("%", "veritabanı adı", "kullanıcı adı", "Y", "Y", "Y") Y,"Y,"N"); mysql temizleme ayrıcalıkları;

Mysql, veritabanıadı .* üzerindeki tüm ayrıcalıkları kullanıcı adına @localhost; mysql temizleme ayrıcalıkları;

Veritabanındaki bilgilerin güncellenmesi:

Mysql GÜNCELLEME AYARI Select_priv = "Y",Insert_priv = "Y",Update_priv = "Y" burada = kullanıcı";

Tablodaki bir satırı silmek:

Mysql DELETE from Where = "her neyse";

Veritabanındaki ayrıcalıkların güncellenmesi:

MySQL temizleme ayrıcalıkları;

Yedeklemeler - veritabanlarının oluşturulması, geri yüklenmesi. Konsol

Alldatabases.sql dosyasında tüm veritabanlarının yedek kopyasını (dökümü) oluşturun:

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

Bir veritabanını veritabanıadı.sql dosyasına yedekleyin:

# mysql dökümü -u kullanıcı adı -p şifre -veritabanları veritabanıadı ; /tmp/veritabanıadı.sql

Bir tabloyu veritabanıadı.tabloadı.sql dosyasına yedekleyin:

# mysql dökümü -c -u kullanıcı adı -p şifre veritabanıadı tabloadı ; /tmp/veritabanıadı.tabloadı.sql

Bir veritabanını (veya tabloyu) bir yedekten geri yükleme:

# mysql -u kullanıcı adı -p şifre veritabanıadı< /tmp/databasename.sql

Veritabanı tablolarının oluşturulması. Konsol

sütun adları küçük harflerle belirtilmiştir;
BÜYÜK harfler - sütunların türleri ve nitelikleri;
(parantez) içinde - sütun türünün değeri.

Bir tablo oluşturun, örnek 1:

mysql CREATE TABLE (ad VARCHAR(20), orta başlangıç ​​VARCHAR(3), soyadı VARCHAR(35), sonek VARCHAR(3), ofis kimliği VARCHAR(10), kullanıcı kimliği VARCHAR(15), kullanıcı adı VARCHAR(8), e-posta VARCHAR(35) ), telefon VARCHAR(25), gruplar VARCHAR(15), tarih damgası DATE, zaman damgası TIME, pgpemail VARCHAR(255));

Bir tablo oluşturun, örnek 2:

Mysql tablo oluştur (kişi kimliği INT(50) NOT NULL AUTO_INCREMENT PRIMARY KEY, ad VARCHAR(35), ikinci ad VARCHAR(50), soyadı VARCHAR(50) varsayılan "bato");