Eu criei usuário user@'%'
com password 'password
. Mas não consigo me conectar com:
mysql_connect('localhost:3306', 'user', 'password');
Quando criei o usuário user@'localhost'
, consegui me conectar. Por quê? '%' Não significa de QUALQUER host?
mysql
remote-access
user2333586
fonte
fonte
Respostas:
Para se conectar remotamente, você deve ter a porta de ligação do MySQL 3306 no endereço IP da sua máquina em my.cnf. Então você deve ter criado o usuário no localhost e no curinga '%' e conceder permissões em todos os bancos de dados como tal . Ver abaixo:
my.cnf (my.ini no Windows)
então
Então
Dependendo do seu sistema operacional, talvez seja necessário abrir a porta 3306 para permitir conexões remotas.
fonte
mysql.default_port = <private instance port>
no meu php.ini, e depois usou127.0.0.1
todo para o meu db hostnameSiga as instruções (as etapas 1 a 3 não são necessárias no Windows):
Encontre a configuração do mysql para editar:
Encontre
bind-address=127.0.0.1
na alteração do arquivo de configuraçãobind-address=0.0.0.0
(você pode definir o endereço de ligação como um dos ips da sua interface ou, como eu, use 0.0.0.0)Reinicie o serviço mysql executado no console:
service restart mysql
Crie um usuário com uma senha segura para conexão remota. Para fazer isso, execute o seguinte comando no mysql (se você é um usuário linux para acessar o mysql console run
mysql
e se você definir a senha para a execução rootmysql -p
):Agora você deve ter um usuário com nome
user
e senhasafe_password
com capacidade de conexão remota.fonte
para qual DB é o usuário? veja este exemplo
para retornar à sua pergunta, o operador "%" significa todos os computadores da sua rede.
como o aspesa shows, também tenho certeza de que você precisa criar ou atualizar um usuário. procure todos os seus usuários mysql:
assim que você configurar seu usuário, você poderá se conectar assim:
espero que ajude
fonte
code
mysql_connect ('localhost: 3306', 'usuário', 'senha');code