Grants et connexion

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Grants et connexion

Re: Grants et connexion

par benv8nam » 07 déc. 2012, 23:49

Tu peux créer un user avec tous les droits.
GRANT ALL PRIVILEGES ON *.* TO 'mouchette'@'localhost'  IDENTIFIED BY 'muche' WITH GRANT OPTION;
Vérifie le fichier my.cnf pour vérifier qu'il accepte les connexions externe. Si tu modifie ce fichier n'oublie pas de faire un mysql restart.

Re: Grants et connexion

par moogli » 07 déc. 2012, 23:10

salut,


Sur oracle je t'aurais manque le droit "connect" ou "resources" du coup j'ai testé ton code.

Au final je pense qu'il s'agit d'un problème de conf serveur.

Le problème de ton code c'est qu'il est équivalent a CREATE USER 'mouchette'@'%' IDENTIFIED BY 'muche';

as tu testé un
create user 'mouchette'@'localhost' identified by 'muche';
-- suivis de 
GRANT SELECT, EXECUTE, SHOW VIEW, ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, INDEX, INSERT, REFERENCES, TRIGGER, UPDATE, LOCK TABLES  ON `kaligraphe`.* TO 'mouchette'@'localhost';
-- plus
FLUSH PRIVILEGES;
Par défaut mysql n'est pas configuré pour accepter les connexions externe du coup en dehors de 'localhost' tu ne pourras te connecter (oui c'est con mais je ne vois pas d'autre possibilités).


@+

Re: Grants et connexion

par sirakawa » 06 déc. 2012, 15:05

XTG.
non, scindé ca ne fonctionne pas plus. D'autant que dans la réalité, les deux opérations ne se passent pas au même moment. Dans ce que j'ai montré, c'était pour ne pas avoirbtrois tonnes de barratin à ajouter pour que ça fonctionne.
Je vais aller voir sur un autre système.

Re: Grants et connexion

par xTG » 06 déc. 2012, 14:19

Et si tu scindes ton script en deux requêtes HTTP ça passe bien ?
Cela ressemblerai bien à un souci de cache je trouve.
Si le driver charge tout ce dont il a besoin en début de script mais que tu impactes sur des données mises en cache mais non maintenues cela pourrait aboutir à ce comportement.

Grants et connexion

par sirakawa » 06 déc. 2012, 13:24

Le code ci-dessous expose la situation sachant que la BDD kaligraphe existe
Utilisateur créé correctement avec le grant
Grant correctement attribué
Erreur de connexion 1045
<?PHP
$mysqli = mysqli_init();
$resultat = $mysqli->real_connect('localhost', 'root', '', 'kaligraphe');
print "ligne 3";
if ($mysqli->connect_error) {
    die('Erreur de connexion (' . $mysqli->connect_errno . ') '
            . $mysqli->connect_error);
}
print "ok";
$requete = "grant all on kaligraphe.* to 'mouchette' identified by 'muche'";
$resultat =$mysqli->query($requete);
 var_dump($resultat);
$requete = "show grants for mouchette";
$resultat =  $mysqli->query($requete);
while ($obj = $resultat->fetch_object())
{
print_r($obj);	
} 
var_dump($resultat);
 
 $mysqli->close();

$mysqli = mysqli_init();
$resultat = $mysqli->real_connect('localhost', 'mouchette', 'muche', 'kaligraphe');
//$resultat = $mysqli->real_connect("localhost", "admin", $passe);
if ($mysqli->connect_error) {
    die('Erreur de connexion (' . $mysqli->connect_errno . ') '
            . $mysqli->connect_error);
}
print "jok";
?>
Copie de l'exécution
ligne 3ok
bool(true)
stdClass Object ( [Grants for mouchette@%] => GRANT USAGE ON *.* TO 'mouchette'@'%' IDENTIFIED BY PASSWORD '*D2CD171C3105C13ECFA4ED97DB8FE75B1BE3DA7E' ) stdClass Object ( [Grants for mouchette@%] => GRANT ALL PRIVILEGES ON `kaligraphe`.* TO 'mouchette'@'%' )
object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(1) ["lengths"]=> NULL ["num_rows"]=> int(2) ["type"]=> int(0) }
Erreur de connexion (1045) Access denied for user 'mouchette'@'localhost' (using password: YES)
J'ajoute encore que ça fonctionne parfaitement si je fais un $mysqli->change_user ('localhost', 'mouchette', 'muche', 'kaligraphe');