SlideShare a Scribd company logo
1 of 9
Download to read offline
MySQL/MariaDB Notları
1. MySQL/MariaDB'yi Kullanıcı Oluşturma ve İzinler
2. MySQL/MariaDB'yi Veritabanı ve Tablo oluşturması
MySQL/MariaDB Kullanıcı Oluşturma ve Tüm Ayrıcalıkları Tanımlama
MySQL’i kullanmaya başladığınızda, size bir kullanıcı adı ve bir şifre verilecektir. Bu
ilk kimlik bilgileri size ‘root erişimi’ sağlar. Root kullanıcı bu veritabanlarındaki tüm
veritabanlarına ve tablolara tam erişime sahiptir.
Ancak çoğu zaman, veritabanının erişimini, başkalarına tam kontrol sağlamadan vermeniz
gerekir. Örneğin, uygulamanızda bir değişiklik yapması için geçici süreliğine işe aldığınız
geliştiricilerden veritabanınızı korumak için root izni olmayan bir kullanıcının kimlik
bilgilerini verebilirsiniz. Örneğin bu kullanıcı silme veya yeni bilgi eklemeye izni olmaz ve
yalnızca ihtiyacı olan kısmı okuyabilir. Bu şekilde geliştiricilerin veriyle neler yapıp ve
yapamayacağını kontrol edebilirsiniz.
Komut satırına erişin ve MySQL sunucuya bağlanın:
mysql -u root -p
-u username
-p password
Resim 1 de örnek olarak veritabanına giriş yapılmıştır.
Aşağıdaki komutu çalıştırın:
CREATE USER 'eğitim'@'localhost' IDENTIFIED BY '123';
Bu komutta, eğitim yeni kullanıcımıza verdiğimiz isimdir. 123 ise bu kullanıcının şifresidir.
Bu değerleri kendi tercihlerinizle değiştirebilirsiniz.
Resim 1
Resim 2 de örnek olarak eğitim kullanıcısı şifresi 123 olarak belirlenip oluşturulmuştur
Oluşturduğunuz kullanıcıları görüntülemek için aşağıdaki komutu kullanabilirsiniz.
SELECT DISTINCT User FROM mysql.user;
Resim 3 de örnek olarak gösterilmiştir.
Yeni kullanıcıyı bu şekilde basitçe oluşturmak yeterli değildir. Bu kullanıcıya ayrıcalık
tanımlamalısınız. Yeni oluşturduğunuz kullanıcıya veritabanı üzerinde bütün yetkileri
tanımlamak için aşağıdaki komutu çalıştırın:
GRANT ALL PRIVILEGES ON * . * TO 'eğitim'@'localhost';
Değişikliklerin hemen devreye girmesi için şu komutu çalıştırın:
FLUSH PRIVILEGES;
Resim 2
Resim 3
Yeni oluşturduğunuz kullanıcı veritabanınıza root kullanıcısı ile aynı erişime sahiptir.
Tüm tabloları okuyabilir yazabilir durumda oluşturduk.
Resim 4 de örnek olarak gösterilmiştir.
Bir MySQL Kullanıcısına Belirli Ayrıcalıklar Tanımlamak
Root olmayan bir kullanıcıya root seviyesinde erişim hakkı vermek akıllıca değildir.
Çoğu zaman, farklı kullanıcı türleri için farklı düzeylerde erişim vermek istersiniz. MySQL,
şu ayrıcalıkları veren basit bir komutla bu işlemi çok kolaylaştırır:
GRANT [ayrıcalık/izin türü] ON [veritabanı adı].[tablo adı] TO ‘eğitim’@'localhost’;
İzin türü değerini, yeni kullanıcıya vermek istediğiniz izin türüyle değiştirmeniz
yeterlidir. Ayrıca, yeni kullanıcıya ayrıcalıkların verilmesi hususunda ince ayar yapmanızı
sağlayan veritabanı ve tablo adı belirtmeniz de gerekir. Yukarıdaki örnekte olduğu gibi,
eğitim kullanıcı adıdır. Dolayısıyla kullanıcı adını kendi tercihinizle değiştirmeyi unutmayın.
MySQL’in epeyce izin türü vardır, bunlardan bazıları aşağıda açıklanmıştır:
CREATE – Kullanıcıların veritabanı ve tablo oluşturma izni verir
SELECT – Kullanıcıların veriyi okumasına izin verir
INSERT – Kullanıcıların tablolara yeni veri eklemesine izin verir
UPDATE – Kullanıcıların tablolarda bulunan mevcut verileri güncellemesine izin verir
DELETE – Kullanıcıların tablo verilerini silmesine izin verir
DROP – Kullanıcıların tüm veritabanını veya tabloları silmesine izin verir
Bu seçenekleri kullanmak için [ayrıcalık/izin türü]nü ilgili anahtar kelime ile değiştirin.
Birden fazla izni uygulamak için izinleri virgül ile ayırabilirsiniz. Örneğin, eğitim
kullanıcımıza CREATE ve SLEECT izinlerini şu komutla sağlayabiliriz:
Resim 4
GRANT CREATE, SELECT ON * . * TO 'eğitim'@'localhost';
Resim 5 ve 6 da örnek olarak gösterilmiştir.
Elbette izni verdiğiniz bir kullanıcıdan verdiğiniz izni geri almanız gerekebilir. Bu işlemi de
aşağıdaki komutla yapabilirsiniz:
REVOKE [permission type] ON [database name].[table name] FROM ‘eğitim’@‘localhost’;
Örneğin tüm izinleri geri almak için:
REVOKE ALL PRIVILEGES ON *.* FROM 'eğitim'@'localhost';
Resim örnek olarak eğitim kullanıcısının tüm yetkileri geri alınmıştır.
Son olarak ihtiyacınız olduğunda bir kullanıcıyı tamamen silmek için kullanmanız gereken
komut da şu şekildedir:
DROP USER ‘eğitim’@‘localhost’;
Resim 5
Resim 6
Resim 7
Resim 8 de örnek olarak eğitim kullanıcısı silinmiştir.
MYSQL/MariaDB veritabanı oluşturma
Yeni bir veritabanı oluşturmak için aşağıdaki komutu uygulayın:
CREATE DATABASE eğitim;
eğitim adında bir veritabanı oluşturduk.
Resim 9 de örnek olarak gösterilmiştir.
Eğitim veritabında işlem yapabilmek için eğitim veritabına aşağıdaki komutu yazarak geçiş
yapıyoruz:
USE eğitim;
Resim 10 de örnek olarak gösterilmiştir
Resim 8
Resim 9
Resim 10
eğitim veritabını içine bir adet tablo oluşturalım;
CREATE TABLE eğitim_tablosu(
-> eğitim_id INT NOT NULL AUTO_INCREMENT,
-> eğitim_başlık VARCHAR(100) NOT NULL,
-> eğitim_yetkilisi VARCHAR(40) NOT NULL,
-> eğitim_tarih DATE,
-> PRIMARY KEY ( eğitim_id )
-> );
Burada, birkaç öğenin açıklamaya ihtiyacı var:
Alan Niteliği NOT NULL kullanılıyor çünkü bu alanın NULL olmasını istemiyoruz.
Dolayısıyla, bir kullanıcı NULL değerinde bir kayıt oluşturmaya çalışırsa, MySQL bir hataya
neden olur.
Alan Özelliği AUTO_INCREMENT MySQL'e devam etmesini ve bir sonraki uygun
numarayı kimlik alanına eklemesini söyler.
Anahtar Kelime PRIMARY KEY , bir sütunu birincil anahtar olarak tanımlamak için
kullanılır. Birincil anahtarı tanımlamak için virgülle ayrılmış birden çok sütun
kullanabilirsiniz.
Resim 11 de örnek olarak eğitim_tablosu isminde bir tablo eğitim veritabanının içine
oluşturulmuştur.
SQL INSERT INTO
INSERT INTO deyimi bir tabloya yeni kayıtlar eklemek için kullanılır.
Resim 11
INSERT INTO eğitim_tablosu (eğitim_id, eğitim_başlık, eğitim_yetkilisi, eğitim_tarih )
VALUES ( '1', 'mysql eğitimi', 'ergün elvan bilsel', '2019-09-19');
Resim 12 ve 13 da örnek olarak gösterilmiştir
MYSQL TABLOLARINI VE VERİTABANLARINI SİLMEK
Tabloları silmek için
DROP TABLE tablo_ismi;
Veritabanını silmek için;
DROP DATABASE veritabanı_ismi;
Resim 14 örnek olarak gösterilmiştir.
Resim 12
Resim 13
Resim 14

More Related Content

Similar to Mysql1

Veri̇tabani ve Kullanici Yöneti̇mi̇
Veri̇tabani ve Kullanici Yöneti̇mi̇Veri̇tabani ve Kullanici Yöneti̇mi̇
Veri̇tabani ve Kullanici Yöneti̇mi̇
Anar Godjaev
 
Sql server 2012 gi̇ri̇ş
Sql server 2012 gi̇ri̇şSql server 2012 gi̇ri̇ş
Sql server 2012 gi̇ri̇ş
oktaygokgol
 
DatabaseStartup&Shutdownshutdownshıtdown.pptx
DatabaseStartup&Shutdownshutdownshıtdown.pptxDatabaseStartup&Shutdownshutdownshıtdown.pptx
DatabaseStartup&Shutdownshutdownshıtdown.pptx
MehvesDemirel
 

Similar to Mysql1 (7)

Veri̇tabani ve Kullanici Yöneti̇mi̇
Veri̇tabani ve Kullanici Yöneti̇mi̇Veri̇tabani ve Kullanici Yöneti̇mi̇
Veri̇tabani ve Kullanici Yöneti̇mi̇
 
Sql Server 2.hafta
Sql Server 2.haftaSql Server 2.hafta
Sql Server 2.hafta
 
Sql server 2012 gi̇ri̇ş
Sql server 2012 gi̇ri̇şSql server 2012 gi̇ri̇ş
Sql server 2012 gi̇ri̇ş
 
Konu anlatım
Konu anlatımKonu anlatım
Konu anlatım
 
Veritabanı Sunusu - 1
Veritabanı Sunusu - 1Veritabanı Sunusu - 1
Veritabanı Sunusu - 1
 
Veri Tabani: SQL'e Giriş (Hafta 2)
Veri Tabani: SQL'e Giriş (Hafta 2)Veri Tabani: SQL'e Giriş (Hafta 2)
Veri Tabani: SQL'e Giriş (Hafta 2)
 
DatabaseStartup&Shutdownshutdownshıtdown.pptx
DatabaseStartup&Shutdownshutdownshıtdown.pptxDatabaseStartup&Shutdownshutdownshıtdown.pptx
DatabaseStartup&Shutdownshutdownshıtdown.pptx
 

More from ergün elvan bilsel

More from ergün elvan bilsel (9)

Güvenli İstemci Yönetim Sistemi
Güvenli İstemci Yönetim SistemiGüvenli İstemci Yönetim Sistemi
Güvenli İstemci Yönetim Sistemi
 
Güvenli İstemci Yönetim Sistemi
Güvenli İstemci Yönetim SistemiGüvenli İstemci Yönetim Sistemi
Güvenli İstemci Yönetim Sistemi
 
Single mod
Single modSingle mod
Single mod
 
Pam time
Pam timePam time
Pam time
 
Gemi Stabilitesi
Gemi StabilitesiGemi Stabilitesi
Gemi Stabilitesi
 
Pendik sulzer
Pendik sulzerPendik sulzer
Pendik sulzer
 
Use of lng
Use of lngUse of lng
Use of lng
 
Renewable energy on modern ships
Renewable energy on modern shipsRenewable energy on modern ships
Renewable energy on modern ships
 
Impa sunumu
Impa sunumuImpa sunumu
Impa sunumu
 

Mysql1

  • 1. MySQL/MariaDB Notları 1. MySQL/MariaDB'yi Kullanıcı Oluşturma ve İzinler 2. MySQL/MariaDB'yi Veritabanı ve Tablo oluşturması
  • 2. MySQL/MariaDB Kullanıcı Oluşturma ve Tüm Ayrıcalıkları Tanımlama MySQL’i kullanmaya başladığınızda, size bir kullanıcı adı ve bir şifre verilecektir. Bu ilk kimlik bilgileri size ‘root erişimi’ sağlar. Root kullanıcı bu veritabanlarındaki tüm veritabanlarına ve tablolara tam erişime sahiptir. Ancak çoğu zaman, veritabanının erişimini, başkalarına tam kontrol sağlamadan vermeniz gerekir. Örneğin, uygulamanızda bir değişiklik yapması için geçici süreliğine işe aldığınız geliştiricilerden veritabanınızı korumak için root izni olmayan bir kullanıcının kimlik bilgilerini verebilirsiniz. Örneğin bu kullanıcı silme veya yeni bilgi eklemeye izni olmaz ve yalnızca ihtiyacı olan kısmı okuyabilir. Bu şekilde geliştiricilerin veriyle neler yapıp ve yapamayacağını kontrol edebilirsiniz. Komut satırına erişin ve MySQL sunucuya bağlanın: mysql -u root -p -u username -p password Resim 1 de örnek olarak veritabanına giriş yapılmıştır. Aşağıdaki komutu çalıştırın: CREATE USER 'eğitim'@'localhost' IDENTIFIED BY '123'; Bu komutta, eğitim yeni kullanıcımıza verdiğimiz isimdir. 123 ise bu kullanıcının şifresidir. Bu değerleri kendi tercihlerinizle değiştirebilirsiniz. Resim 1
  • 3. Resim 2 de örnek olarak eğitim kullanıcısı şifresi 123 olarak belirlenip oluşturulmuştur Oluşturduğunuz kullanıcıları görüntülemek için aşağıdaki komutu kullanabilirsiniz. SELECT DISTINCT User FROM mysql.user; Resim 3 de örnek olarak gösterilmiştir. Yeni kullanıcıyı bu şekilde basitçe oluşturmak yeterli değildir. Bu kullanıcıya ayrıcalık tanımlamalısınız. Yeni oluşturduğunuz kullanıcıya veritabanı üzerinde bütün yetkileri tanımlamak için aşağıdaki komutu çalıştırın: GRANT ALL PRIVILEGES ON * . * TO 'eğitim'@'localhost'; Değişikliklerin hemen devreye girmesi için şu komutu çalıştırın: FLUSH PRIVILEGES; Resim 2 Resim 3
  • 4. Yeni oluşturduğunuz kullanıcı veritabanınıza root kullanıcısı ile aynı erişime sahiptir. Tüm tabloları okuyabilir yazabilir durumda oluşturduk. Resim 4 de örnek olarak gösterilmiştir. Bir MySQL Kullanıcısına Belirli Ayrıcalıklar Tanımlamak Root olmayan bir kullanıcıya root seviyesinde erişim hakkı vermek akıllıca değildir. Çoğu zaman, farklı kullanıcı türleri için farklı düzeylerde erişim vermek istersiniz. MySQL, şu ayrıcalıkları veren basit bir komutla bu işlemi çok kolaylaştırır: GRANT [ayrıcalık/izin türü] ON [veritabanı adı].[tablo adı] TO ‘eğitim’@'localhost’; İzin türü değerini, yeni kullanıcıya vermek istediğiniz izin türüyle değiştirmeniz yeterlidir. Ayrıca, yeni kullanıcıya ayrıcalıkların verilmesi hususunda ince ayar yapmanızı sağlayan veritabanı ve tablo adı belirtmeniz de gerekir. Yukarıdaki örnekte olduğu gibi, eğitim kullanıcı adıdır. Dolayısıyla kullanıcı adını kendi tercihinizle değiştirmeyi unutmayın. MySQL’in epeyce izin türü vardır, bunlardan bazıları aşağıda açıklanmıştır: CREATE – Kullanıcıların veritabanı ve tablo oluşturma izni verir SELECT – Kullanıcıların veriyi okumasına izin verir INSERT – Kullanıcıların tablolara yeni veri eklemesine izin verir UPDATE – Kullanıcıların tablolarda bulunan mevcut verileri güncellemesine izin verir DELETE – Kullanıcıların tablo verilerini silmesine izin verir DROP – Kullanıcıların tüm veritabanını veya tabloları silmesine izin verir Bu seçenekleri kullanmak için [ayrıcalık/izin türü]nü ilgili anahtar kelime ile değiştirin. Birden fazla izni uygulamak için izinleri virgül ile ayırabilirsiniz. Örneğin, eğitim kullanıcımıza CREATE ve SLEECT izinlerini şu komutla sağlayabiliriz: Resim 4
  • 5. GRANT CREATE, SELECT ON * . * TO 'eğitim'@'localhost'; Resim 5 ve 6 da örnek olarak gösterilmiştir. Elbette izni verdiğiniz bir kullanıcıdan verdiğiniz izni geri almanız gerekebilir. Bu işlemi de aşağıdaki komutla yapabilirsiniz: REVOKE [permission type] ON [database name].[table name] FROM ‘eğitim’@‘localhost’; Örneğin tüm izinleri geri almak için: REVOKE ALL PRIVILEGES ON *.* FROM 'eğitim'@'localhost'; Resim örnek olarak eğitim kullanıcısının tüm yetkileri geri alınmıştır. Son olarak ihtiyacınız olduğunda bir kullanıcıyı tamamen silmek için kullanmanız gereken komut da şu şekildedir: DROP USER ‘eğitim’@‘localhost’; Resim 5 Resim 6 Resim 7
  • 6. Resim 8 de örnek olarak eğitim kullanıcısı silinmiştir. MYSQL/MariaDB veritabanı oluşturma Yeni bir veritabanı oluşturmak için aşağıdaki komutu uygulayın: CREATE DATABASE eğitim; eğitim adında bir veritabanı oluşturduk. Resim 9 de örnek olarak gösterilmiştir. Eğitim veritabında işlem yapabilmek için eğitim veritabına aşağıdaki komutu yazarak geçiş yapıyoruz: USE eğitim; Resim 10 de örnek olarak gösterilmiştir Resim 8 Resim 9 Resim 10
  • 7. eğitim veritabını içine bir adet tablo oluşturalım; CREATE TABLE eğitim_tablosu( -> eğitim_id INT NOT NULL AUTO_INCREMENT, -> eğitim_başlık VARCHAR(100) NOT NULL, -> eğitim_yetkilisi VARCHAR(40) NOT NULL, -> eğitim_tarih DATE, -> PRIMARY KEY ( eğitim_id ) -> ); Burada, birkaç öğenin açıklamaya ihtiyacı var: Alan Niteliği NOT NULL kullanılıyor çünkü bu alanın NULL olmasını istemiyoruz. Dolayısıyla, bir kullanıcı NULL değerinde bir kayıt oluşturmaya çalışırsa, MySQL bir hataya neden olur. Alan Özelliği AUTO_INCREMENT MySQL'e devam etmesini ve bir sonraki uygun numarayı kimlik alanına eklemesini söyler. Anahtar Kelime PRIMARY KEY , bir sütunu birincil anahtar olarak tanımlamak için kullanılır. Birincil anahtarı tanımlamak için virgülle ayrılmış birden çok sütun kullanabilirsiniz. Resim 11 de örnek olarak eğitim_tablosu isminde bir tablo eğitim veritabanının içine oluşturulmuştur. SQL INSERT INTO INSERT INTO deyimi bir tabloya yeni kayıtlar eklemek için kullanılır. Resim 11
  • 8. INSERT INTO eğitim_tablosu (eğitim_id, eğitim_başlık, eğitim_yetkilisi, eğitim_tarih ) VALUES ( '1', 'mysql eğitimi', 'ergün elvan bilsel', '2019-09-19'); Resim 12 ve 13 da örnek olarak gösterilmiştir MYSQL TABLOLARINI VE VERİTABANLARINI SİLMEK Tabloları silmek için DROP TABLE tablo_ismi; Veritabanını silmek için; DROP DATABASE veritabanı_ismi; Resim 14 örnek olarak gösterilmiştir. Resim 12 Resim 13