Autor
|
Tema: MySQL: Ayuda para encontrar el error que tengo. (Leído 10,087 veces)
|
mokoMonster
Desconectado
Mensajes: 301
<? ...
|
Bueno te comento que soy nuevo en MySQL, en PHP ya se un poco mas xD Quiero crear una base de datos y conectarla a mi servidor (260mb.com) maneja MySQL, tengo mi servido MySQL y tengo PHPMyAdmin que no se como manejar. Tengo MySQL Community Server instalado en mi portatil, mi server mysql es xxxx.269mb.com, entonces intente "mysql -h xxx -u pacus_xxxx -p" y no funciono, intente poniendole "mysql -h xxx -u pacus_xxxx -p xxxxx" y tampoco.. C:\Users\HR>mysql -h localhost -u root -p Enter password: ******** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.1.39-community MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement
mysql>
Esto me funciono, pero no estoy seguro de como funcionara esto en mi servidor, o como puedo conectarlo. Siguiendo un tutorial hice lo siguiente. http://tutorialphp.net/cap7_1base_de_datos_mysql_crear_base_de_datos_php.phpSubi a mi server prueba.sql CREATE TABLE prueba ( ID_pacus_xxxxxx_mkmnstr_db int(11) DEFAULT '0' NOT NULL auto_increment, Nombre varchar(100), Apellidos varchar(100), PRIMARY KEY (ID_pacus_xxxxxx_mkmnstr_db), UNIQUE ID_pacus_xxxxxx_mkmnstr_db (ID_pacus_xxxxxxx_mkmnstr_db) ); Y tambien subi mkmnstr_db.php con el sig. codigo: <html> <head> <title>Ejemplo de PHP</title> </head> <body>
<?php function Conectarse() { if (!($link=mysql_connect("localhost","root",""))) { echo "Error conectando a la base de datos."; exit(); } if (!mysql_select_db("pacus_xxxxxx_mkmnstr_db",$link)) { echo "Error seleccionando la base de datos."; exit(); } return $link; }
$link=Conectarse(); echo "Conexión con la base de datos conseguida.<br>";
mysql_close($link); //cierra la conexion ?>
</body> </html>Pero "Error conectando a la base de datos." La verdad no entiendo que es lo que estoy haciendo mal. En el codigo de mkmnstr_db.php intente tambien esto: if (!($link=mysql_connect("localhost","root",""))) if (!($link=mysql_connect("localhost","pacus_xxxx",""))) if (!($link=mysql_connect("localhost","pacus_xxxx","xxxxxx")))obviamente una a la vez y no funciona tampoco. Espero puedan ayudarme, y de antemano muchas gracias:D
|
|
|
En línea
|
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual." Lagrange
|
|
|
Red Mx
Rojito
Colaborador
Desconectado
Mensajes: 3.649
Viva México Cabrones...
|
Es mas facil si dentro de tu server local haces las cosas que vas a hacer y luego exportas a tu server mysql que esta en 260mb.com.
pero bueno necesitas hacer cambion en my.ini ( archivo de configuracion mysql)
Obiamente necesitas permisos en el server para hacer esto en un hosting compartido puede ser dificil no todos los provedores te lo permiten.
Aun que si usas Cpanel y tienes un buen provedor puedes acceder a la sección Host de Acceso Remoto a Base de Datos.
Ahi agregas tu IP asi permites conectarte al servidor ( si el servidor se conectara a ti lo tendrias que hacer en tu pc y abrir el puerto para permiitr la conexion pero esa es otra historia)
Saludos
|
|
« Última modificación: 13 Octubre 2009, 14:37 pm por Red Mx »
|
En línea
|
Desarrollar Malware Es Causa De Cancer...
|
|
|
|
Red Mx
Rojito
Colaborador
Desconectado
Mensajes: 3.649
Viva México Cabrones...
|
@Mr. Crowley
Eso es ams que obio pero el el server necesita permitirse asi mismo conectarse a su server en 260mb.com de otra manera le va denegar la conexion el server.
|
|
|
En línea
|
Desarrollar Malware Es Causa De Cancer...
|
|
|
Mr. Crowley
Desconectado
Mensajes: 343
Costa Rica
|
Hola Red Mx, sorry... pero no entendi esto: el server necesita permitirse asi mismo conectarse a su server El server de 260 debe permitirle conectar a su server de mysql? Es eso?
|
|
|
En línea
|
|
|
|
^Tifa^
Desconectado
Mensajes: 2.804
|
Haber, haber te respondi en otro post que preguntaste lo mismo y obviaste el tema... pero vuelvo y pregunto:
1 - El nombre de dominio '260mb.com' apunta a tu servidor personal? o es un servidor remoto independiente?
2 - Si el dominio '260mb.com' corresponde a tu servidor personal (tuyo propio) haz verificado si el servidor MySQL tiene abierto el puerto tcp 3306 a nivel externo (cuando digo externo me refiero a si esta abierto en tu IP publica de tu tarjeta de red no solamente a nivel localhost) no supongas que porque puedes acceder por 'localhost' es porque tengas abierto el puerto 3306, a nivel localhost MySQL siempre respondera, verificate externamente si dicho puerto 3306 esta o no abierto, en caso que despues de verificarle No este abierto, tendras que editar my.cnf o my.ini si usas Windows, y comentar la linea --skip-networking y reiniciar el motor para aplicar los cambios.
3 - En caso que el dominio '260mb.com' sea en un servidor remoto y por ende asumimos que el motor esta corriendo su puerto abierto a nivel de IP publica, pero aun asi no puedes conectarte desde remoto, verifica cual es el 'host' del usuario pacus, por ejemplo:
1 - pacus@localhost
2 - pacus@%
3 - pacus@IP
Si el host de pacus corresponde al primer ejemplo, pacus solo podra conectarse a nivel localhost no desde remoto. Si el host corresponde al segundo ejemplo pacus puede conectarse desde cualquier PC remota, si el host corresponde al tercer ejemplo pacus solo podra conectarse desde la IP correspondiente asignada.
Si el host de pacus es igual a 'localhost' o 'IP' (Cuando digo IP me refiero a una IP ejemplo 10.0.x.x) esta restringuido solo a conexiones locales o una IP especifica, tendras que hacer un update y cambiarle el host a '%' que implica cualquiera desde donde sea. Luego de la actualizacion (La cual se hace con el usuario 'root' de MySQL u otro que posea permisos similares) hay que actualizar la metadata con flush privileges para que apliquen los cambios.
|
|
|
En línea
|
|
|
|
mokoMonster
Desconectado
Mensajes: 301
<? ...
|
Es mas facil si dentro de tu server local haces las cosas que vas a hacer y luego exportas a tu server mysql que esta en 260mb.com. pero bueno necesitas hacer cambion en my.ini ( archivo de configuracion mysql) Obiamente necesitas permisos en el server para hacer esto en un hosting compartido puede ser dificil no todos los provedores te lo permiten. Aun que si usas Cpanel y tienes un buen provedor puedes acceder a la sección Host de Acceso Remoto a Base de Datos.
Ahi agregas tu IP asi permites conectarte al servidor ( si el servidor se conectara a ti lo tendrias que hacer en tu pc y abrir el puerto para permiitr la conexion pero esa es otra historia)
Saludos
Les comento: La razón por lo que quiero aprender MySQL es porque quiero subir un sitio que estoy construyendo apenas, y 260mb.com es un hosting gratuito, el cual prentendo pagar para tener todos los demas beneficios; ya que ahora lo tengo como gratuito no me es posible conectarme externamente (estuve leyendo las especificaciones de 260mb.com) Creo que en este punto voy mas con trabajar en localhost y despues subir todo a mi servidor (mientras) pero aqui sigue el problema: prueba.sql sigue igual: CREATE TABLE prueba ( ID_pacus_xxxxxx_mkmnstr_db int(11) DEFAULT '0' NOT NULL auto_increment, Nombre varchar(100), Apellidos varchar(100), PRIMARY KEY (ID_pacus_xxxxxx_mkmnstr_db), UNIQUE ID_pacus_xxxxxx_mkmnstr_db (ID_pacus_xxxxxxx_mkmnstr_db) );Ahora, ya que mkmnstr_db.php esta en mi servidor 260mb.com no tiene porque ser localhost, o me equivoco?<?php function Conectarse() { if (!($link=mysql_connect("sql10010.260mb.com","pacus_xxxxxx","xxxxxxxx"))) { echo "Error conectando a la base de datos."; exit(); } if (!mysql_select_db("pacus_xxxxxx_mkmnstr_db",$link)) { echo "Error seleccionando la base de datos."; exit(); } return $link; }
$link=Conectarse(); echo "Conexión con la base de datos conseguida.<br>";
mysql_close($link); //cierra la conexion ?>Pero asi tambien me devuelve error: http:/mkmnstr.260mb.com/mkmnstr_db.php En Cpanel no tengo la opcion Host de Acceso Remoto a Base de Datos. Y Red Mx y Mr. Crowley: Les comento que el servidor MySQL y el de 260mb.com son practicamente el mismo, ya que 260mb.com me da los 2 servidores; 1) sqlxxx.260mb.com 2) mkmnstr.260mb.com Haber, haber te respondi en otro post que preguntaste lo mismo y obviaste el tema... pero vuelvo y pregunto:
1 - El nombre de dominio '260mb.com' apunta a tu servidor personal? o es un servidor remoto independiente?
2 - Si el dominio '260mb.com' corresponde a tu servidor personal (tuyo propio) haz verificado si el servidor MySQL tiene abierto el puerto tcp 3306 a nivel externo (cuando digo externo me refiero a si esta abierto en tu IP publica de tu tarjeta de red no solamente a nivel localhost) no supongas que porque puedes acceder por 'localhost' es porque tengas abierto el puerto 3306, a nivel localhost MySQL siempre respondera, verificate externamente si dicho puerto 3306 esta o no abierto, en caso que despues de verificarle No este abierto, tendras que editar my.cnf o my.ini si usas Windows, y comentar la linea --skip-networking y reiniciar el motor para aplicar los cambios.
3 - En caso que el dominio '260mb.com' sea en un servidor remoto y por ende asumimos que el motor esta corriendo su puerto abierto a nivel de IP publica, pero aun asi no puedes conectarte desde remoto, verifica cual es el 'host' del usuario pacus, por ejemplo:
1 - pacus@localhost
2 - pacus@%
3 - pacus@IP
Si el host de pacus corresponde al primer ejemplo, pacus solo podra conectarse a nivel localhost no desde remoto. Si el host corresponde al segundo ejemplo pacus puede conectarse desde cualquier PC remota, si el host corresponde al tercer ejemplo pacus solo podra conectarse desde la IP correspondiente asignada.
Si el host de pacus es igual a 'localhost' o 'IP' (Cuando digo IP me refiero a una IP ejemplo 10.0.x.x) esta restringuido solo a conexiones locales o una IP especifica, tendras que hacer un update y cambiarle el host a '%' que implica cualquiera desde donde sea. Luego de la actualizacion (La cual se hace con el usuario 'root' de MySQL u otro que posea permisos similares) hay que actualizar la metadata con flush privileges para que apliquen los cambios.
Tifa: He hecho el otro post porque llevo ya 4 dias estancado y necesitaba un poco mas de ayuda .. Respuestas: 1)Si con servidor personal te refieres a mkmnstr.260mb.com; entonces si. 2)En my.ini no existe la linea "--skip-networking" pueden bajarlo en http://mkmnstr.260mb.com/my.zip (no tienen virus, troyano, ni nada de eso) 3)Como podria verificar esto?? Bueno pues muchisimas gracias a todos por responer a este post, espero puedan seguir ayudandome con este problemita. Saludos y Buena Vibra
|
|
|
En línea
|
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual." Lagrange
|
|
|
Mr. Crowley
Desconectado
Mensajes: 343
Costa Rica
|
En caso de que no le importe el hosting, puede hacer una cuenta en http://host22.com/.Hace un tiempo estuve probando algunas cosas ahi, y este si permite conexion remota.
|
|
|
En línea
|
|
|
|
^Tifa^
Desconectado
Mensajes: 2.804
|
Entonces tu limitacion es que no puedes conectarte remotamente al motor MySQL? que pena, pero de alguna forma deben obligar a los usuarios a pagar. Ahora, ya que mkmnstr_db.php esta en mi servidor 260mb.com no tiene porque ser localhost, o me equivoco? En este punto depende de muchos factores, desconozco que configuracion le otorgaron finalmente alli al servidor y a MySQL. Pero dejame explicarte algo, MySQL maneja los accesos y permisos de la siguiente manera. Ya que tienes MySQL instalado en tu PC personal y accesas como root del MySQL haz lo siguiente: bash-3.1$ mysql -h 127.0.0.1 -u admin -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 Server version: 5.0.84 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> select host, user from mysql.user; +-----------+--------+ | host | user | +-----------+--------+ | % | marian | | 10.0.2.15 | marian | | localhost | admin | +-----------+--------+ 3 rows in set (0.00 sec)
mysql> create user pepe identified by 'pepe'; Query OK, 0 rows affected (0.01 sec)
mysql> select host, user from mysql.user; +-----------+--------+ | host | user | +-----------+--------+ | % | marian | | % | pepe | | 10.0.2.15 | marian | | localhost | admin | +-----------+--------+ 4 rows in set (0.00 sec)
mysql> exit Bye.. bash-3.1$ bash-3.1$ mysql -h localhost -u pepe -ppepe Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 Server version: 5.0.84 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | +--------------------+ 1 row in set (0.00 sec)
mysql> exit Bye bash-3.1$
Puedes ver que se creo un usuario llamado 'pepe' y por defecto su 'Host' es '%' que implica cualquier IP y desde donde sea... ahora haz lo siguiente: bash-3.1$ mysql -h localhost -u admin -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 Server version: 5.0.84 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> select host, user from mysql.user; +-----------+--------+ | host | user | +-----------+--------+ | % | marian | | % | pepe | | 10.0.2.15 | marian | | localhost | admin | +-----------+--------+ 4 rows in set (0.00 sec)
mysql> update mysql.user set host = '10.0.2.15' where user = 'pepe'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
mysql> select host, user from mysql.user; +-----------+--------+ | host | user | +-----------+--------+ | % | marian | | 10.0.2.15 | marian | | 10.0.2.15 | pepe | | localhost | admin | +-----------+--------+ 4 rows in set (0.00 sec)
mysql> quitmysql> quit Bye bash-3.1$ mysql -h localhost -u pepe -ppepe ERROR 1045 (28000): Access denied for user 'pepe'@'localhost' (using password: YES) bash-3.1$ mysql -h 127.0.0.1 -u pepe -ppepe ERROR 1045 (28000): Access denied for user 'pepe'@'localhost' (using password: YES) bash-3.1$ mysql -h 10.0.2.15 -u pepe -ppepe Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 14 Server version: 5.0.84 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | +--------------------+ 1 row in set (0.00 sec)
mysql> exit Bye bash-3.1$
Con lo anterior lo que intento explicarte es, que el acceso remoto o local a un motor MYSQL estara basado en base a que 'Host' tiene dicho usuario en cuestion. Por ende, independientemente que indiques en tu configuracion PHP que el servidor MySQL sea 'localhost' y subas tus scripts php al servidor 260mb.com y realmente esten todos alli 'localhost' si tu usuario 'pacus_xxx' no tiene como 'Host' localhost o el target global % me temo que no podras acceder a esa base de datos. Espero que se pueda entender, no soy muy efectiva explicando. 3)Como podria verificar esto?? mysql> select host, user from mysql.user where user = 'usuario'; Tranquilo, si tus scripts php se pueden conectar a Mysql local de tu PC, es porque efectivamente este parametro no esta especificado en el my.ini Y como ultimo consejo, haz lo que dice Mr.Crowley, buscate otro hosting gratuito muchos permiten conexiones remotas a MySQL.
|
|
|
En línea
|
|
|
|
mokoMonster
Desconectado
Mensajes: 301
<? ...
|
Desde la primera linea hubi error:
C:\Users\HR\Desktop>bash-3.1$ mysql -h 127.0.0.1 -u admin -p "bash-3.1$" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.
Aqui intente con varios pass por si yo estaba mal... pero nop
C:\Users\HR\Desktop>mysql -h 127.0.0.1 -u admin -p Enter password: ******** ERROR 1045 (28000): Access denied for user 'admin'@'localhost' (using password: YES)
C:\Users\HR\Desktop>mysql -h 127.0.0.1 -u admin -p Enter password: ******* ERROR 1045 (28000): Access denied for user 'admin'@'localhost' (using password: YES)
C:\Users\HR\Desktop>mysql -h 127.0.0.1 -u admin -p Enter password: ****** ERROR 1045 (28000): Access denied for user 'admin'@'localhost' (using password: YES)
C:\Users\HR\Desktop>mysql 127.0.0.1 -u admin -p Enter password: ******** ERROR 1045 (28000): Access denied for user 'admin'@'localhost' (using password: YES)
|
|
« Última modificación: 13 Octubre 2009, 19:42 pm por mokoMonster »
|
En línea
|
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual." Lagrange
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Preciso ayuda con un error que tengo en un simple programita
Programación C/C++
|
julian.97
|
8
|
9,711
|
21 Junio 2011, 02:32 am
por nicolas_cof
|
|
|
Ayudemen a encontrar el error!!!!
Programación C/C++
|
<<<-Basura->>>
|
1
|
2,180
|
30 Julio 2011, 00:53 am
por Flakito81
|
|
|
Ayuda porfaa Tengo el error 0x00000007b al instalar Win XP
Windows
|
capielo23
|
1
|
3,146
|
6 Mayo 2013, 17:48 pm
por el-brujo
|
|
|
[Ayuda]Primera vez que uso MySQL con Java y tengo un error
Java
|
PabloPbl
|
8
|
5,195
|
20 Abril 2015, 22:30 pm
por PabloPbl
|
|
|
Ayuda a encontrar error
Programación C/C++
|
marcosuag
|
1
|
1,710
|
7 Agosto 2017, 05:09 am
por engel lex
|
|