visa inloggningar till servern (observera att %
betyder valfri värd eller jokertecken)
select user,host from mysql.user;
+-----------+------------+
| user | host |
+-----------+------------+
| ajax_guy | % |
| joe7 | % |
| joe8 | % |
+-----------+------------+
visa vilka bidrag som finns för en viss användare.
show grants for 'ajax_guy'@'%';
+----------------------------------------------------------------------
| Grants for [email protected]%
+----------------------------------------------------------------------
| GRANT USAGE ON *.* TO 'ajax_guy'@'%' IDENTIFIED BY PASSWORD ...
| GRANT ALL PRIVILEGES ON `ajax_stuff`.* TO 'ajax_guy'@'%'
| GRANT ALL PRIVILEGES ON `ajax_stuff`.`ajax_stuff` TO 'ajax_guy'@'%'
+----------------------------------------------------------------------
Hur man beviljar åtkomst till en viss db till en viss inloggning. Nedan ger vi användaren alla rättigheter till so_gibberish
databas .
grant ALL on so_gibberish.* to 'ajax_guy'@'%';
Titta på bidrag som gäller nu för den inloggningen
+----------------------------------------------------------------------
| Grants for [email protected]%
+----------------------------------------------------------------------
| GRANT USAGE ON *.* TO 'ajax_guy'@'%' IDENTIFIED BY PASSWORD ...
| GRANT ALL PRIVILEGES ON `ajax_stuff`.* TO 'ajax_guy'@'%'
| GRANT ALL PRIVILEGES ON `so_gibberish`.* TO 'ajax_guy'@'%'
| GRANT ALL PRIVILEGES ON `ajax_stuff`.`ajax_stuff` TO 'ajax_guy'@'%'
+----------------------------------------------------------------------
Skapa en ny inloggning drew_saturday
med ett lösenord friday987
.Han har alla privilegier på databasen so_gibberish
och kan logga in från vilken värd som helst (%
)
grant ALL on so_gibberish.* to 'drew_saturday'@'%' IDENTIFIED BY 'friday987';
select user,host,password from mysql.user where user='drew_saturday';
+---------------+------+-------------------------------------------+
| user | host | password |
+---------------+------+-------------------------------------------+
| drew_saturday | % | *4600ED0F377308959665877BD327D4788DC2071F |
+---------------+------+-------------------------------------------+
Lösenordet ovan är förresten det hashade lösenordet.
Obs:för MySQL 5.7 skulle kommandot ovan vara:
select user,host,authentication_string from mysql.user where user='drew_saturday';
Mysql manualsida på Grant
. Ge inte överdrivna rättigheter till användare som använder grant ALL on *. ...
. Det skulle vara för alla databas i systemet. Läs bara manualen och mindre är mer.
Ibland vill administratörer ge åtkomst till bara en handfull tabeller i en databas (inte alla tabeller i den) till en inloggning. Manualen är ett måste att läsa om detta.
Och en sista sak. 'drew_saturday'@'%' är en annan inloggning än 'drew_saturday'@'NOT-local' (lånar från din titel). Det är olika inloggningar med olika rättigheter. Det är poängen med det första jag skrev långt upp.