Doğru Cevap
-
mysql_create_db() nin kullanılması php.net e göre artık önerilmiyor. Bu yüzden aşağıdaki yöntemle oluşturunuz. Kolay gelsin.
<?php $link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); if (!$link) { die('Bağlanamadı: ' . mysql_error()); } $sql = 'CREATE DATABASE yeniDBismi'; if (mysql_query($sql, $link)) { echo "yeniDBismi veritabanı başarıyla oluşturuldu\n"; } else { echo 'veritabanı oluşturulurken hata: ' . mysql_error() . "\n"; }
-
GncArt
Hali hazırda bir bağlantınız varsa MySQL e, ozaman sadece:
if (mysql_query("CREATE DATABASE yeniDBismi") { echo "yeniDBismi veritabanı başarıyla oluşturuldu\n"; } else { echo 'Veritabanı oluşturulurken hata: ' . mysql_error() . "\n"; }
11 yıl önce yazılmış -
bensedat18
hocam kullanıcı yetkilendirmesinde sıkıntı yaşıyorum ben.
üstteki arkadaşa yazdığım cevabı okuyabilir misiniz orda sıkıntı mı anlatmıştım.
teşekkür ederim.11 yıl önce yazılmış -
halidaltuner
cPanel kullanıyorsanız kullanıcıya db create yetkisi veremezsiniz.11 yıl önce yazılmış -
bensedat18
peki şu durumda ne yapabilirim... yani bu istediğimi yapmam şart11 yıl önce yazılmış -
GncArt
halidaltunere katılıyorum. Ayrıca kullanıcıya DB açma yetkisini neden vermek istiyorsunuz anlayabilmiş değilim. Her isteyen DB açarsa işiniz var demektir.
Yani bir araştırayım fakat pek ümitli değilim açıkcası.11 yıl önce yazılmış -
bensedat18
hocam blog açma tarzı bir site de açılan her blog için bir veritabanı açmak niyetim. kullanıcı kendi blogunu oluşturmak istediğinde anında veritabanı oluşturulsun vs. bu tarz bir iş için gerekli.11 yıl önce yazılmış -
GncArt
Şöyle bir makale buldum. Test etme şansım şu an için yok ama birazcık mantığından bahsedeyim sen bir dene olursa da haber verirsin bizde yeni birşeyler öğrenmiş oluruz.
http://ipucu.enderunix.org/view.php?id=1690&lang=tr
Bu makaledeki sorgular CGI üzerinden çalışabilir biçimde ama sen sorgu cümlelerini query içinde yazarsan PHP üzerinde kuallanabilirsin.
Kullanıcı yetkileri GRANT ile belirleniyor.
GRANT yetkiler ON veritabani TO kullanıcı@localhost IDENTIFIED BY kullanıcı_sifre ;
Yetkiler kısmına, INSERT, UPDATE, DELETE,SELECT den istediklerini virgül koayarak yaz. Hepsi olsun diyorsan ALL yazman yeterli.
GRANT INSERT, UPDATE ON veritabani TO kullanıcı@localhost IDENTIFIED BY kullanıcı_sifre ;
GRANT ALL ON veritabani TO kullanıcı@localhost IDENTIFIED BY kullanıcı_sifre ;
Veritabanını oluşturursun, sonra Kullanıcı adları ve şifrelerini de istersin. Bu bilgileri bir üyeler tablosunda tutabilirsin. Artık kullanıcının yapacağı MySQL sorgularını yukarıdaki 2 biçimde üyeler tablosundan alacağın veritabanı, kullanıcı adı ve şifreye göre yaptıracaksın. Kullanıcı adı her zaman ...@localhost şeklinde bitmeli sanırsam :)11 yıl önce yazılmış -
GncArt
Bu GRANT la başlayan queryi sayfa başında yaptığında, sanırım diğer yetki sorgularını (insert,update,delete,select) normal şekilde yapabileceksin.11 yıl önce yazılmış -
bensedat18
ilgilendiğin ve zaman ayırdığın için çok teşekkür ediyorum hocam.
hosting firmasıyla da iletişim halindeydim. onlardan bir sonuç gelmezse eğer belirttiğiniz yöntemi deniyecem. her iki durumda da sonucu buraya yazarım.
saygılar sunuyorum.11 yıl önce yazılmış -
bensedat18
GncArt
dediğiniz yöntemi deneyemedim malesef. hosting firmasınında önerisiyle windows a geçtim. pleskte sanırım yapılabiliyor.11 yıl önce yazılmış
-
Cevaplar
-
Kullanıcının veritabanı açma yetkisi yok. Kullanıcıya veritabanı açma yetkisi verin.
-
bensedat18
hocam o yetkilendirmeyi nasıl yapacam cpanelden mi? kullanıcı oluştururken yetkilendirme yapamıyoruz ki, kullanıcıyı bir veritabanı ile ilişkilendirirken yetkilendirme yapıyoruz. o yetkilendirme de ilişkilendirdiğimiz o veritabanı ile ilgili yetkilendirmeler zannedersem. onun haricinde benim istediğim aslında bir kullanıcının tüm veritabanlarında yetkili olması bunu nasıl sağlarım acaba.11 yıl önce yazılmış
-