Ben [email protected]
olarak MySQL prosedürlerin hepsi yazdım: başka bir sunucuya dağıtırkenKayıtlı bir yordam oluştururken `definer` gerekli midir?
CREATE DEFINER=`root`@`localhost` PROCEDURE `p_add_user`(...)
Sorun şu ki, ben şimdiki kullanıcı ile root
değiştirip can sıkıcı mevcut IP ile localhost
değiştirmek zorunda.
Veritabanımı ve yordamlarımı kullanmak isteyen birinin her yordamın tanımlayıcısını değiştirmek zorunda kalmaması için yordam yazmanın bir yolu var mı? here
CREATE
[DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
Yani MySQL belgelerinde belirtildiği üzere
"DEFINER fıkra tetik aktivasyon zamanında erişim yetkileri kontrol ederken kullanılacak güvenlik bağlamını belirlemede daha fazla ayrıntı bu bölümde daha sonra verilecektir.". Eminim ki, prosedürler yalnızca ayrıcalıklı kullanıcılar tarafından kullanıldığında, tüm kesin şeyleri tamamen kaldırabilirim? – Xorty
Evet, sanırım. Kullanıcının izinlerini tanımladığınızda, verilebilecek/reddedilebilecek bir "yürütme prosedürleri" ayrıcalığına sahip olduğunuzu düşünüyorum (bunun hakkında emin değilim ...) – maid450
İyi, Daha sonra deneyeceğim ve işe yaradıysa geri döneceğim. Thanx – Xorty