PDA

Ver la Versión Completa : Un poco mas complicado


fsolispa
21-04-2010, 00:57:51
En dias anteriores me ayudaron muchisimo con un problemita que tenia, gracias a ustedes lo pude resolver (caral, roman), les agradezco mucho, ahora resulta que la complicación incremento un poco, resulta que para facilitar la parametrización y principalmente para que el usuario no entre al servidor de Mysql directamente para agregar usuarios, pense en que se podrian dar de alta desde delphi, la sentencia para poder dar de alta un usario es la siguiente
MySql ->INSERT INTO user
-> VALUES('localhost','monty',PASSWORD('some_pass'),
-> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
esto es desde consola o se puede dar de alta desde mysqladmin, en delphi cree un query (gran error), no encuentra (obviamente) la tabla user, ya que estoy por medio de un TZConnetion a una Base de datos, la pregunta es como puedo hacer para que escriba los datos en un Edit y los pase a los valores de user y password y crear el usuario desde delphi, espero me puedan ayudar

roman
21-04-2010, 01:53:27
La base de datos que se especifica en el TZConnection no es más que la base a usar por defecto en las consultas. Pero siempre puedes consultar otra base anteponiendo el nombre:


insert into mysql.user
values(
'localhost','monty', Passwrod('some_pass'),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');



// Saludos

movorack
21-04-2010, 02:06:11
una duda... ¿y no seria mejor un CREATE USER?

otra duda... ¿y si llego a una empresa que ya tiene el mysql montado y me da solo un usuario y una base de datos para administrar?

es que no entiendo mucho del porque el programa debe cerar usuarios en el servidor...

pero bueno ya román te dió la respuesta... solo eran dudas sueltas.

roman
21-04-2010, 02:16:24
La verdad es que movorak toca un buen punto. Creo que muchos usamos un sólo usuario de la base para la conexión y creamos una tabla de usuarios en nuestra propia base. Esto da más flexibilidad pues te permite guardar datos que no podrías hacerlo en la tabla user de MySQL, como su nombre real y otros datos personales. Si deseas manejar un sistema de perfiles te será más fácil de esta forma.

Yo contesté puntualmente pero vale la pena tomar nota de la observación de movorack.

// Saludos

fsolispa
21-04-2010, 02:44:11
El punto es que usuarios finales no estan familiarizados con mysql por proteccion de los datos y del sistema se me ocurrio que en vez de hacer el engorroso procedimiento de dar de alta en mysql, asignar privilegios, host, etc. pues seria más fácil para un usuario comun crearle la herramienta

fsolispa
21-04-2010, 03:01:50
Quiza estoy trabajando de mas, pero les comento mi idea (medio fumada), el sistema trabaja en red, no permito que los usuarios puedan trabajar desde otro equipo que no sea el suyo, algunos pueden insertar y modificar, otros solo pueden ver la información, es mi primer proyecto en red utilizando mysql, así que cree un usuario y un host para cada uno, mi intención es empezar a comercializar el sistema, uno de los puntos que me paso por la mente fue que un usuario final no podria dar de alta los usuarios sin dañar la base de datos, por eso la idea de que dentro del sistema el pueda crear el usuario, que tambien son muchos parametros puesto que debe saber la dirección ip del equipo desde se debe conectar, por eso en vez de poner 'usuario'@'host' el sistema pondria 'usuario'@'%' para que pueda entrar desde cualquier lugar cosa que va en contra de lo que pense originalmente, ahora la verdad no se como poder parametrizar con un solo usuario, por su tiempo y atención gracias, espero me puedan orientar un poco más