vis logins til serveren (bemærk at %
betyder enhver vært eller jokertegn)
select user,host from mysql.user;
+-----------+------------+
| user | host |
+-----------+------------+
| ajax_guy | % |
| joe7 | % |
| joe8 | % |
+-----------+------------+
vise hvilke bevillinger der findes til en bestemt bruger.
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'@'%'
+----------------------------------------------------------------------
Sådan giver du adgang til en bestemt db til et bestemt login. Nedenfor giver vi alle rettigheder til brugeren til so_gibberish
database .
grant ALL on so_gibberish.* to 'ajax_guy'@'%';
Se på tilskud, der er gældende nu for det login
+----------------------------------------------------------------------
| 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'@'%'
+----------------------------------------------------------------------
Opret et nyt login drew_saturday
med en adgangskode friday987
.Han har alle privilegier på databasen so_gibberish
og kan logge på fra enhver vært (%
)
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 |
+---------------+------+-------------------------------------------+
Adgangskoden ovenfor er i øvrigt den hash-kodede adgangskode.
Bemærk:for MySQL 5.7 ville kommandoen ovenfor være:
select user,host,authentication_string from mysql.user where user='drew_saturday';
Mysql manual side på Grant
. Giv ikke overdrevne rettigheder til brugere, der bruger grant ALL on *. ...
. Det ville være for alle database i systemet. Bare læs manualen og mindre er mere.
Nogle gange ønsker administratorer at give adgang til kun en håndfuld tabeller i en database (ikke alle tabeller i den) til et login. Manualen er et must at læse om dette.
Og en sidste ting. 'drew_saturday'@'%' er et andet login end 'drew_saturday'@'NOT-local' (låner fra din titel). Det er forskellige logins med forskellige rettigheder. Det er meningen med det første, jeg skrev langt deroppe.