Mysql adicionando usuário para access remoto

Eu criei user user@'%' com password 'password . Mas eu não consigo me conectar com:

 mysql_connect('localhost:3306', 'user', 'password'); 

Quando criei user user@'localhost' , consegui me conectar. Por quê? Não significa ‘%’ de algum host?

Para se conectar remotamente, é necessário que o MySQL vincule a porta 3306 ao endereço IP da sua máquina em my.cnf. Então você tem que ter criado o usuário em localhost e curinga ‘%’ e conceder permissions em todos os DBs como tal . Ver abaixo:

my.cnf (my.ini no windows)

 #Replace xxx with your IP Address bind-address = xxx.xxx.xxx.xxx 

então

 CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass'; 

Então

 GRANT ALL ON *.* TO 'myuser'@'localhost'; GRANT ALL ON *.* TO 'myuser'@'%'; 

Dependendo do seu SO, você pode ter que abrir a porta 3306 para permitir conexões remotas.

para que DB é o usuário? olhe este exemplo

 mysql> create database databasename; Query OK, 1 row affected (0.00 sec) mysql> grant all on databasename.* to cmsuser@localhost identified by 'password'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) 

então, para voltar a você, questione o operador “%” significa todos os computadores da sua rede.

como mostra o aspesa também tenho certeza que você tem que criar ou atualizar um usuário. Procure por todos os seus usuários mysql:

 SELECT user,password,host FROM user; 

Assim que você configurar seu usuário, você poderá se conectar assim:

 mysql -h localhost -u gmeier -p 

espero que ajude

Siga as instruções (as etapas 1 a 3 não são necessárias no Windows):

  1. Encontre mysql config para editar:

    /etc/mysql/my.cnf (Mysql 5.5)

    /etc/mysql/conf.d/mysql.cnf (Mysql 5.6+)

  2. Encontre bind-address=127.0.0.1 no arquivo de configuração change bind-address=0.0.0.0 (você pode definir o endereço de binding para uma das suas interfaces ips ou como eu usar 0.0.0.0)

  3. Reinicie o serviço mysql executado no console: service restart mysql

  4. Crie um usuário com uma senha segura para conexão remota. Para fazer isso execute o seguinte comando no mysql (se você é usuário linux para acessar o mysql console execute mysql e se você definir a senha para root run mysql -p ):

     GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%' IDENTIFIED BY 'safe_password' WITH GRANT OPTION;` 

Agora você deve ter um usuário com nome de user e senha de safe_password com capacidade de conexão remota.