servidor - Mysql agregando usuario para acceso remoto
configurar phpmyadmin para conexion remota (3)
Para conectarse de forma remota, debe tener el puerto de enlace de MySQL 3306 a la dirección IP de su máquina en my.cnf. Luego debe haber creado el usuario en el localhost y el comodín ''%'' y otorgar permisos en todos los DB como tales . Vea abajo:
my.cnf (my.ini en windows)
#Replace xxx with your IP Address
bind-address = xxx.xxx.xxx.xxx
entonces
CREATE USER ''myuser''@''localhost'' IDENTIFIED BY ''mypass'';
CREATE USER ''myuser''@''%'' IDENTIFIED BY ''mypass'';
Entonces
GRANT ALL ON *.* TO ''myuser''@''localhost'';
GRANT ALL ON *.* TO ''myuser''@''%'';
Dependiendo de su sistema operativo, puede que tenga que abrir el puerto 3306 para permitir conexiones remotas.
Creé usuario user@''%''
con password ''password
. Pero no me puedo conectar con:
mysql_connect(''localhost:3306'', ''user'', ''password'');
Cuando creé el usuario de user@''localhost''
, pude conectarme. ¿Por qué? ¿No significa ''%'' de CUALQUIER host?
Siga las instrucciones (los pasos 1 a 3 no son necesarios en Windows):
Encuentra mysql config para editar:
/etc/mysql/my.cnf (Mysql 5.5)
/etc/mysql/conf.d/mysql.cnf (Mysql 5.6+)
Encuentra
bind-address=127.0.0.1
en el archivo de configuración changebind-address=0.0.0.0
(puedes establecer la dirección de vinculación a una de tus ips de interfaz o como yo uso 0.0.0.0)Reinicie el servicio mysql ejecutado en la consola:
service restart mysql
Cree un usuario con una contraseña segura para la conexión remota. Para hacer esto, ejecute el siguiente comando en mysql (si usted es usuario de Linux para llegar a la consola de mysql, ejecute
mysql
y si establece la contraseña para la ejecución de la raízmysql -p
):GRANT ALL PRIVILEGES ON *.* TO ''remote''@''%'' IDENTIFIED BY ''safe_password'' WITH GRANT OPTION;`
Ahora debe tener un usuario con nombre de user
y contraseña de safe_password
con capacidad de conexión remota.
para que DB es el usuario? mira este ejemplo
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)
entonces, para volver a su pregunta, el operador "%" significa todas las computadoras en su red.
como aspesa muestra que también estoy seguro de que tienes que crear o actualizar un usuario. busca a todos tus usuarios de mysql:
SELECT user,password,host FROM user;
tan pronto como haya configurado su usuario, podrá conectarse así:
mysql -h localhost -u gmeier -p
Espero eso ayude