मुझे डेटाबेस में किसी भी विशेषाधिकार के साथ सभी उपयोगकर्ताओं को चुनना है (उदा। डेटाबेस 'mysql')। कोई सुझाव? धन्यवाद।उपयोगकर्ताओं को डेटाबेस के लिए किसी भी विशेषाधिकार के साथ दिखाएं। MySQL
उत्तर
mysql
डेटाबेस में देखें (एक वास्तविक डीबी mysql
MySQL सर्वर के अंदर, बस स्पष्ट होने के लिए)।
SELECT 'db', User, Host
FROM db
WHERE Db='mydatabase'
UNION
SELECT 'table', User, Host
FROM tables_priv
WHERE Db='mydatabase'
UNION
SELECT 'col', User, Host
FROM columns_priv
WHERE Db='mydatabase'
आप दिखाना चाहिए कि तुम क्या जरूरत है: वहाँ तीन तालिकाओं (db
, tables_priv
, और columns_priv
) जहां db/तालिका/स्तंभ privs जमा हो जाती है है।
सभी उपयोगकर्ताओं और उनके अनुमानित विशेषाधिकारों का एक अच्छा दृश्य। यदि कोई पासवर्ड है, तो यह एन्क्रिप्टेड स्ट्रिंग द्वारा होगा; यदि नहीं, तो यह क्षेत्र खाली है। चयन एक बहुत ही सामान्य निजी है; सम्मिलित करें डेटाबेस के भीतर टेबल हेरफेर की अनुमति देता है; शटडाउन प्रमुख प्रणाली में परिवर्तन की अनुमति देता है, और केवल रूट द्वारा प्रयोग योग्य होना चाहिए; अनुमति देने की क्षमता दूसरों से अलग है।
SELECT user, host, password, select_priv, insert_priv, shutdown_priv, grant_priv
FROM mysql.user
व्यक्तिगत डेटाबेस के लिए अनुमतियां देखें।
SELECT user, host, db, select_priv, insert_priv, grant_priv FROM mysql.db
database privileges
mysql.db
table privileges में जमा हो जाती
mysql.tables_priv
column privileges में जमा हो जाती
mysql.columns_priv
routine privileges में जमा हो जाती 012,398 में जमा हो जाती
delimiter // CREATE PROCEDURE list_privileges (IN db_name CHAR(50)) BEGIN SELECT concat(Db,'.', '*') as 'what', User, Host, '...' as 'perms' FROM mysql.db WHERE Db=db_name UNION SELECT concat(Db,'.', Table_name), User, Host, table_priv FROM mysql.tables_priv WHERE Db=db_name and table_priv != '' UNION SELECT concat(Db,'.', Table_name, '(', Column_name,')'), User, Host, Column_priv FROM mysql.columns_priv WHERE Db=db_name UNION SELECT concat(Db,'.', Routine_name, '()'), User, Host, Proc_priv FROM mysql.procs_priv WHERE Db=db_name; END// delimiter ;
उदाहरण:
mysql> call list_privileges("testlink2"); +-----------------------------+-----------+-----------+---------+ | what | User | Host | perms | +-----------------------------+-----------+-----------+---------+ | testlink2.* | testlink2 | % | ... | | testlink2.* | testlink2 | localhost | ... | | testlink2.executions | testlink2 | % | Select | | testlink2.users(id) | testlink2 | % | Select | | testlink2.list_privileges() | testlink2 | % | Execute | +-----------------------------+-----------+-----------+---------+ 5 rows in set (0.00 sec) Query OK, 0 rows affected (0.00 sec)
आप विशेषाधिकार सूची एक दुकान प्रक्रिया को परिभाषित कर सकते