Uitleg van quiry
Kan iemand mij uitleggen wat .*. betekent in de volgende query en hoe ik deze dien te gebruiken bij mysqli.
Code (php)
1
2
3
2
3
GRANT SELECT, CREATE ON *.* TO 'user'@'host' IDENTIFIED BY PASSWORD '1234' |
GRANT ALL PRIVILEGES ON `db1`.* TO 'user'@'host'
GRANT ALL PRIVILEGES ON `db2`.* TO 'user'@'host'
GRANT ALL PRIVILEGES ON `db1`.* TO 'user'@'host'
GRANT ALL PRIVILEGES ON `db2`.* TO 'user'@'host'
en klopt het dat CREATE ON ervoor zorgt date een database automatish word aangemaakt als deze er nog niet is?
En ongeacht welke driver je gebruikt: je gebruikt SQL.
Of dat nu via mySQL of mySQLi of PDO is. Queries blijf je hetzelfde uitvoeren.
Toevoeging op 19/09/2013 21:52:52:
Meer info: http://technet.microsoft.com/en-us/library/ms188371.aspx
(al is dat wel TransAct-SQL (wat dus niet helemaal SQL is)
Quote:
ON [ OBJECT :: ] [ schema_name ] . object_name
Specifies the object on which the permission is being granted. The OBJECT phrase is optional if schema_name is specified. If the OBJECT phrase is used, the scope qualifier (::) is required. If schema_name is not specified, the default schema is used. If schema_name is specified, the schema scope qualifier (.) is required.
Specifies the object on which the permission is being granted. The OBJECT phrase is optional if schema_name is specified. If the OBJECT phrase is used, the scope qualifier (::) is required. If schema_name is not specified, the default schema is used. If schema_name is specified, the schema scope qualifier (.) is required.
Gewijzigd op 19/09/2013 21:53:22 door Eddy E
Okeoke bedankt voor de snellle reactie. Maar zou je me nog willen vertellen waar *.* voor staat? Als ik het goed begrijp maakt deze query dus 2 databases met rechten voor 1 gebruiker?
Daarna geef je nog dezelfde user alle rechten op databases db1 en db2 (en binnen die databases weer op alle tabellen).
Okee dat is een mooii duidelijke uitleg. Hier heb ik wat van gelleerd. Bedankt :D
Eigenlijk moet je regel 1 weglaten en dus selectief granten (regel 2 en 3)
Verder is het ook aan te raden om de backticks `` weg te laten.
Gewijzigd op 20/09/2013 15:28:34 door John D
Gewijzigd op 20/09/2013 15:45:02 door Erwin H
De code die ik nu in quiry heb is:
Erwin H op 20/09/2013 15:44:43:
Oeps, inderdaad. te snel en half gelezen. Excuus.Niet waar John. In regel 1 zitten alleen de SELECT en CREATE rechten, maar niet DELETE, UPDATE etc. Regel 2 en 3 zijn dus nog wel degelijk nuttig.
Gewijzigd op 20/09/2013 20:23:24 door Aad B
Johnny Reinders op 20/09/2013 19:54:58:
Als ik deze code in een query zet krijg ik de foutmelding dat er geen database gesellecteert is.
Voor je een query kan uitvoeren zal je altijd eerst een database moeten selecteren. In dit geval maakt het eigenlijk niet uit welke (aangezien je in de GRANT query aangeeft op welke database je iets wilt doen), maar desalniettemin kan je die query niet uitvoeren als je niet eerst een database selecteert.