Android

MySQL veritabanlarını ve kullanıcılarını komut satırından yönetme

Veri Tabanı Yönetim Sistemleri Karşılaştırması

Veri Tabanı Yönetim Sistemleri Karşılaştırması

İçindekiler:

Anonim

MySQL en popüler açık kaynak ilişkisel veritabanı yönetim sistemidir. MySQL sunucusu, çok sayıda kullanıcı ve veritabanı oluşturmamıza ve kullanıcıların veritabanlarına erişebilmeleri ve yönetebilmeleri için uygun ayrıcalıklar verebilmemizi sağlar.

Bu eğiticide MySQL veya MariaDB veritabanları ve kullanıcıları oluşturmak ve yönetmek için komut satırının nasıl kullanılacağı açıklanmaktadır.

Sen başlamadan önce

Bu eğiticiye başlamadan önce, sisteminizde zaten MySQL veya MariaDB sunucunuzun yüklü olduğunu varsayıyoruz. Tüm komutlar kök kullanıcı olarak yürütülür.

MySQL istemini açmak için, aşağıdaki komutu yazın ve istendiğinde MySQL kök kullanıcı parolasını girin:

mysql -u root -p

Yeni bir MySQL veritabanı oluşturma

Yeni bir MySQL veritabanı oluşturmak için aşağıdaki komutu çalıştırın: database_name öğesini oluşturmak istediğiniz veritabanının adıyla değiştirin:

CREATE DATABASE database_name;

Query OK, 1 row affected (0.00 sec)

ERROR 1007 (HY000): Can't create database 'database_name'; database exists

Oluşturmaya çalıştığınız adla aynı veritabanına sahipseniz hatalardan kaçınmak için aşağıdaki komutu kullanabilirsiniz:

CREATE DATABASE IF NOT EXISTS database_name;

Query OK, 1 row affected, 1 warning (0.00 sec)

Yukarıdaki çıktıda, Query OK , sorgunun başarılı olduğu anlamına gelir ve 1 warning , veritabanının zaten var olduğunu ve yeni bir veritabanı oluşturulmadığını belirtir.

Tüm MySQL veritabanlarını listele

MySQL veya MariaDB sunucumuzda bulunan tüm veritabanlarını aşağıdaki komutla listeleyebilirsiniz:

SHOW DATABASES;

Çıktı şöyle görünecektir:

+--------------------+ | Database | +--------------------+ | information_schema | | database_name | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec)

mysql , mysql , performance_schema ve sys veritabanları kurulum zamanında oluşturulur ve diğer tüm veritabanları, sistem yapılandırması, kullanıcılar, izin ve diğer önemli veriler hakkında bilgi depolarlar. Bu veritabanları MySQL kurulumunun düzgün çalışması için gereklidir.

MySQL veritabanını silme

MySQL veritabanını silmek, tek bir komut çalıştırmak kadar basittir. Bu geri döndürülemez bir eylemdir ve dikkatle yürütülmelidir. Veritabanını sildiğinizde kurtarılamayacağından, yanlış bir veritabanını kaldırmamaya dikkat edin.

MySQL veya MariaDB'yi silmek için, veritabanı aşağıdaki komutu çalıştırın:

DROP DATABASE database_name;

Query OK, 0 rows affected (0.00 sec)

ERROR 1008 (HY000): Can't drop database 'database_name'; database doesn't exist

Bu hatayı önlemek için aşağıdaki komutu kullanabilirsiniz:

DROP DATABASE IF EXISTS database_name;

Yeni bir MySQL kullanıcı hesabı oluşturun

MySQL içindeki bir kullanıcı hesabı bir kullanıcı adı ve ana bilgisayar adı bölümlerinden oluşur.

Yeni bir MySQL kullanıcı hesabı oluşturmak için aşağıdaki komutu çalıştırın, 'database_user' yerine oluşturmak istediğiniz kullanıcının adını yazın:

CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'user_password';

Yukarıdaki komutta, hostname kısmını localhost ayarladık, bu da bu kullanıcının MySQL sunucusuna yalnızca localhost'tan (yani MySQL Server'ın çalıştığı sistemden) bağlanabileceği anlamına gelir. Başka bir ana bilgisayardan erişim vermek istiyorsanız, localhost ana makineyi uzak makine localhost değiştirin veya ana makine bölümü için '%' joker karakterini kullanın; bu, kullanıcı hesabının herhangi bir ana bilgisayardan bağlanabileceği anlamına gelir.

Zaten var olan bir kullanıcı hesabı oluşturmaya çalışırken bir hatayı önlemek için veritabanlarıyla çalışırken kullandığınız gibi kullanabilirsiniz:

CREATE USER IF NOT EXISTS 'database_user'@'localhost' IDENTIFIED BY 'user_password';

Query OK, 0 rows affected, 1 warning (0.00 sec)

MySQL kullanıcı hesabı şifresini değiştirme

MySQL veya MariaDB kullanıcı hesabı parolasını değiştirme sözdizimi, sisteminizde çalıştırdığınız sunucu sürümüne bağlıdır.

Sunucu sürümünüzü aşağıdaki komutu vererek bulabilirsiniz:

mysql --version

ALTER USER 'database_user'@'localhost' IDENTIFIED BY 'new_password';

SET PASSWORD FOR 'database_user'@'localhost' = PASSWORD('new_password');

Her iki durumda da, çıktı şu şekilde görünmelidir:

Query OK, 0 rows affected (0.00 sec)

Tüm MySQL kullanıcı hesaplarını listele

mysql.users tablosunu sorgulayarak tüm MySQL veya MariaDB kullanıcı hesaplarını listeleyebilirsiniz:

SELECT user, host FROM mysql.user;

Çıktı aşağıdakine benzer olmalıdır:

+------------------+-----------+ | user | host | +------------------+-----------+ | database_user | % | | database_user | localhost | | debian-sys-maint | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +------------------+-----------+ 6 rows in set (0.00 sec)

MySQL kullanıcı hesabını sil

Bir kullanıcı hesabını silmek için aşağıdaki komutu kullanın:

DROP USER 'database_user@'localhost';

ERROR 1396 (HY000): Operation DROP USER failed for 'database_user'@'localhost'

Hatayı önlemek için veritabanlarıyla çalışırken kullandığınız gibi:

DROP USER IF EXISTS 'database_user'@'localhost';

Query OK, 0 rows affected, 1 warning (0.00 sec)

MySQL kullanıcı hesabına izin verme

Bir kullanıcı hesabına verilebilecek birden fazla ayrıcalık türü vardır. MySQL tarafından desteklenen ayrıcalıkların tam listesini burada bulabilirsiniz. Bu kılavuzda birkaç örnek vereceğiz:

Belirli bir veritabanı üzerinden bir kullanıcı hesabının tüm ayrıcalıklarını kullanmak için aşağıdaki komutu kullanın:

GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

Tüm veritabanlarında bir kullanıcı hesabının tüm ayrıcalıklarını kullanmak için aşağıdaki komutu kullanın:

GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';

Bir veritabanındaki belirli bir tablo üzerinden bir kullanıcı hesabının tüm ayrıcalıklarını kullanmak için aşağıdaki komutu kullanın:

GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';

MySQL kullanıcı hesabından izinleri iptal etme

REVOKE ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

MySQL kullanıcı hesabı ayrıcalıklarını görüntüleme

Belirli bir MySQL kullanıcı hesabı türüne verilen ayrıcalıkları bulmak için:

SHOW GRANTS FOR 'database_user'@'localhost';

+---------------------------------------------------------------------------+ | Grants for database_user@localhost | +---------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'database_user'@'localhost' | | GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' | +---------------------------------------------------------------------------+ 2 rows in set (0.00 sec)

Sonuç

Bu eğitici yalnızca temel bilgileri içerir, ancak MySQL veritabanlarını ve kullanıcıları komut satırından nasıl yöneteceğini öğrenmek isteyen herkes için iyi bir başlangıç ​​olmalıdır. Unutmanız durumunda bir MySQL kök parolasını nasıl sıfırlayacağınızla ilgili öğreticiyi de kontrol edebilirsiniz.

Bu kadar! Herhangi bir sorunuz veya geri bildiriminiz varsa, yorum bırakmaktan çekinmeyin.

mysql mariadb