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.1en 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 mysqlCree 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
mysqly 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