Ya hace algún tiempo que diseño web en Linux, no es más que por gusto porque la mayoría de las herramientas que acostumbro a usar están disponibles igual para Windows.
Yo uso NETBEANS como IDE (luego en otro post les comento las ventajas que he visto en este IDE), además empleo como servidor local de pruebas XAMPP en Windows y LAMPP para Linux, ambas versiones del mismo pack.
El caso es que necesitaba hacer que las bases de datos de mis proyectos estuvieran igualmente disponibles para Windows como para Linux.
HOY LO LOGRÉ!!!!
De hecho, de esta forma también logre que la ubicación de mis bases de datos esté en un lugar independiente de las dos plataformas, de modo que a la hora de una reinstalación no pierdo nada ni tengo que estar exportando e importando nada.
PRIMERO EN WINDOWS
Tras la instalación de XAMPP, la ruta por defecto de las bases es c:\xampp\mysql\data, puede ser que si usas otra versión la ruta sea otra, pero en todos los casos la ruta estará indicada en el archivo my.ini.
PASO 1: Detener MySQL.
Normalmente se instalará junto con el XAMPP un panel de control, allí puedes detener el servicio MySQL. Otra forma de hacerlo es buscando el archivo xampp_stop que seguramente estará en la carpeta c:/xampp.
PASO 2: Crea una nueva carpeta para las bases de datos
Yo tengo mi disco particionado en tres, una partición para Windows y los programas, otra partición para Linux y otra, la más grande, para los archivos. Eso me permite tener independientes los datos.
Creas una carpeta en la partición de datos. En mi caso quedó en D:\mysql.
PASO 3: Cambiar la ruta de en my.ini
Este archivo se encuentra en c:\xampp\mysql\bin\my.ini, pero si no lo encuentras allí por ser tu versión distinta, simplemente usa el buscador de Windows.
En este archivo hay que modificar la línea que dice "datadir = c:\xampp\mysql\data" y sustituir la ruta por la de la carpeta recién creada. En mi caso quedó así: "datadir = d:\mysql".
PASO 4: Mudar los datos de lugar
Ahora se copian todos los archivos que instala por defecto el XAMPP de la carpeta c:\xampp\mysql\data a la nueva ubicación.
Listo! ya se pueden crear o importar las bases de datos. Verás que todo se guardará sin problema en la nueva ubicación. No olvides reiniciar el XAMPP ejecutando c:\xampp\xampp_start o desde el panel de control de XAMPP.
AHORA EN LINUX
Yo actualmente uso UBUNTU 12.10 Remix, pero hasta ahora en cualquiera de las versiones anteriores, al menos de Ubuntu, ha sido igual.
Toma en cuenta que debes procurar tener instalada la misma versión de XAMPP en Linux. Veamos como se hace en Linux:
PASO 1: Detener MySQL
En linux XAMPP se instala normalmente en /opt/lampp, así que para detener todo el servidor puede usar esta orden desde el terminal:
sudo /opt/lampp/lampp stop
PASO 2: Verificar que la partición se monte desde el arranque
En mi Ubuntu uso la herramienta de Discos para hacer que el disco D:\ (la partición NTFS donde tengo los archivos) se monte desde el inicio. Eso crea una carpeta en /mnt/ o en /media/ es importante que sea así, porque al iniciar el XAMPP en linux, los archivos de las bases de datos deben estar disponibles.
PASO 3: Crear enlaces simbólicos.
Es muy simple, lo primero es abrir el explorador de archivos como administrador, en el terminal:
sudo nautilus (si usas Nautilus, obviamente)
Luego simplemente entra en la carpeta donde están las bases de datos y arrastra la carpeta completa hasta /opt/var/mysql manteniendo pulsada la tecla ALT, esto te permitirá ver las opciones, de las cuales debes escoger "crear un link". Este mismo paso debe repetirse para todas las carpetas de tus bases de datos.
Importante: Hay carpetas y archivos en esa ubicación que NO nos interesan. Sólo hay que hacer enlaces simbólicos a las que corresponden a nuestras bases de datos.
Listo! reinicia el XAMPP desde el terminal:
sudo /opt/lampp/lampp start
Si todo está bien deberás poder acceder a tus bases de datos desde Linux y desde Windows de manera indiferente, y todos los cambios que hagas en un lado, los tendrás hechos en el otro.
Ahora a seguir con tus pruebas en ambos sistemas.
Espero que les sirva, espero también sus comentarios y contribuciones por si se me pasó algún detalle, así como las dudas relacionadas con el tema.
Mostrando entradas con la etiqueta MySQL. Mostrar todas las entradas
Mostrando entradas con la etiqueta MySQL. Mostrar todas las entradas
jueves, 31 de enero de 2013
sábado, 4 de junio de 2011
Cómo obtener datos de MySQL usando PHP
El lenguaje PHP es muy extenso, como todos. Aprender todas las posibilidades del lenguaje cuesta tiempo y perseverancia. Hoy vamos a explicar como conectarse a una base de datos en MySQL usando PHP.
Lo primero que debemos hacer es crear un archivo PHP por separado, en el cual crearemos "la conexión" a la base de datos. Este archivo será un objeto reutilizable en nuestra página.
Ahora bien, ¿de dónde sacamos esos valores que le daremos a este pequeño script? Veamos nuestro phpMyAdmin para entenderlo
En esta pantalla haremos clic en la opción "Agregar un nuevo usuario"
Colocamos nuestro nombre de usuario, elegimos servidor Local, colocamos una contraseña y la repetimos. Luego debemos asignarle a este nuevo usuario privilegios. En principio vamos a usar la opción "Marcar todos/as", luego podremos hablar con más detalles acerca de estos privilegios.
De estos datos tomaremos en cuenta:
Capturemos datos de una tabla
Ahora vamos a crear un archivo PHP que se conecte a la base de datos, lea una tabla, extraiga un registro e imprima los datos de este registro.
Lo primero que haremos es cargar el archivo de coenxión, con la orden siguiente:
Luego crearemos una instancia de la tabla a través de la función mysql_query.
De esta forma habremos obtenido los resultados deseados. Tomemos en cuenta que al exponer los resultados, podemos agregar cualquier elemento HTML, es decir, podemos construir listas desplegables, tablas, cuadros de selección, etc. Nuestra propia audacia será nuestro límite!!
Lo primero que debemos hacer es crear un archivo PHP por separado, en el cual crearemos "la conexión" a la base de datos. Este archivo será un objeto reutilizable en nuestra página.
<?php
$hostname = "localhost";
$database = "mi_base_de_datos";
$username = "mi_nombre_de_usuario";
$password = "mi_password";
$conexion = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
?>
De esta forma, la variable $conexion será nuestro enlace a la base de datos.$hostname = "localhost";
$database = "mi_base_de_datos";
$username = "mi_nombre_de_usuario";
$password = "mi_password";
$conexion = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
?>
Ahora bien, ¿de dónde sacamos esos valores que le daremos a este pequeño script? Veamos nuestro phpMyAdmin para entenderlo
![]() |
| Clic para agrandar la imagen |
Colocamos nuestro nombre de usuario, elegimos servidor Local, colocamos una contraseña y la repetimos. Luego debemos asignarle a este nuevo usuario privilegios. En principio vamos a usar la opción "Marcar todos/as", luego podremos hablar con más detalles acerca de estos privilegios.
De estos datos tomaremos en cuenta:
- El nombre de la base de datos
- El nombre de usuario que acabamos de crear
- El password de este usuario
Capturemos datos de una tabla
Ahora vamos a crear un archivo PHP que se conecte a la base de datos, lea una tabla, extraiga un registro e imprima los datos de este registro.
Lo primero que haremos es cargar el archivo de coenxión, con la orden siguiente:
<?php require_once('conexion.php'); ?>
Luego, seleccionamos la base de datos y la tabla que queremos acceder (Recuerde siempre encerrar el código PHP entre "<?php" y "?>".)mysql_select_db($database, $conexion);
Ahora creamos una variable con la sentencia SQL con la que accederemos a los datos que deseamos.$sql_query = "SELECT * FROM clientes";
Por supuesto que se pueden hacer consultas mas complejas, así como hacer uso variables de las cuales dependa el resultado, utilizando el punto (.) para concatenar o la función sprintf. Veamos dos ejemplos:$sql_query = "SELECT * FROM clientes WHERE id_cliente=".$id_a_consultar." ORDER BY nombre_cliente";
O bien,$sql_query = sprintf("SELECT * FROM clientes WHERE id_cliente=%s ORDER BY nombre_cliente", $id_a_consular);
Donde las ocurrencias de "%s" son sustituidas por las variables después de la coma, en el mismo orden en que aparezcan.Luego crearemos una instancia de la tabla a través de la función mysql_query.
$clientes = mysql_query($sql_query, $conexion) or die(mysql_error());
Por último, obtendremos el número de registros, y si es superior a 0 (cero), entonces podremos acceder a los datos.$num_registros = mysql_num_rows($clientes);
if ($num_registros) {
$columnas = mysql_fetch_assoc($ciudad);
do {
$id = $columnas['id_cliente'];
$nombre = $columnas['nombre_cliente'];
$telef = $columnas['tel_cliente'];
echo $id . " - " . $nombre . " - " . $telef . "<br />"; // resultados
} while ($columnas = mysql_fetch_assoc($ciudad))
}
Existen varias otras formas de acceder a los datos, con el uso de las funciones propias de PHP para MySQL.if ($num_registros) {
$columnas = mysql_fetch_assoc($ciudad);
do {
$id = $columnas['id_cliente'];
$nombre = $columnas['nombre_cliente'];
$telef = $columnas['tel_cliente'];
echo $id . " - " . $nombre . " - " . $telef . "<br />"; // resultados
} while ($columnas = mysql_fetch_assoc($ciudad))
}
De esta forma habremos obtenido los resultados deseados. Tomemos en cuenta que al exponer los resultados, podemos agregar cualquier elemento HTML, es decir, podemos construir listas desplegables, tablas, cuadros de selección, etc. Nuestra propia audacia será nuestro límite!!
Etiquetas:
bases de datos,
capturar datos,
MySQL,
mysql_pconnect,
mysql_query,
php,
sprintf,
SQL
martes, 31 de mayo de 2011
Como crear una base de datos con MySQL
En esta oportunidad usaré un ejemplo simple que servirá para explicar paso a paso la construcción de una base de datos en MySQL. Crearemos una lista de clientes y sus datos de ubicación.
Asumiré que ya tiene instalado MySQL en su computadora en un servidor de prueba; si no es así, puede ver como se hace la instalación en el artículo Servidores de prueba: Qué tal me esta quedando?.
También podemos usar el servicio MySQL que seguramente venga pre instalado en el servidor donde tiene alojada su página.Lo primero que haremos en acceder a phpMyAdmin, el software por defecto para administrar MySQL, las pantallas son similares en cualquier sistema operativo. Escribimos en la barra de nuestro navegador preferido:
http://localhost/
Si tu servidor esta bien instalado y funcionando, debería aparecer la página inicial del mismo. En mi caso aparece esto:
Luego, buscamos el enlace a phpMyAdmin (PMA) y hacemos clic. Si nos presentara la pantalla de seguridad colocamos la clave que hayamos configurado. En mi caso no llegué a configurar la seguridad del servidor, así que uso la clave por defecto para el usuario "root" (la clave es lampp).
Asumiré que ya tiene instalado MySQL en su computadora en un servidor de prueba; si no es así, puede ver como se hace la instalación en el artículo Servidores de prueba: Qué tal me esta quedando?.
También podemos usar el servicio MySQL que seguramente venga pre instalado en el servidor donde tiene alojada su página.Lo primero que haremos en acceder a phpMyAdmin, el software por defecto para administrar MySQL, las pantallas son similares en cualquier sistema operativo. Escribimos en la barra de nuestro navegador preferido:
http://localhost/
Si tu servidor esta bien instalado y funcionando, debería aparecer la página inicial del mismo. En mi caso aparece esto:
Luego, buscamos el enlace a phpMyAdmin (PMA) y hacemos clic. Si nos presentara la pantalla de seguridad colocamos la clave que hayamos configurado. En mi caso no llegué a configurar la seguridad del servidor, así que uso la clave por defecto para el usuario "root" (la clave es lampp).
Ok! ya entraremos al phpMyAdmin. Probablemente ya podremos ver en la columna de la izquierda algunas bases de datos propias de sistema, las cuales recomiendo no tocar.
Ahora creamos nuestra base de datos
Para este ejercicio de prueba, le daremos a la tabla el nombre de "clientes". Colocamos el nombre en el campo correspondiente y le damos clic al botón "Crear".
Para conocer criterios profesionales de creación de bases de datos les puedo recomendar estos dos enlaces:
De inmediato PMA nos presentará una pantalla para comenzar a crear las tablas. Crearemos la tabla "clientes_data". Yo lo haré en principio con 7 campos, pero tu puedes hacerlo a tu gusto o necesidad. Además, esta cantidad de campos se podrá aumentar o disminuir a gusto posteriormente. Luego presionamos el botón "Continuar".
Ahora nos presentará el formulario de creación de los campos de la tabla. Llenamos todos los campo tomando en cuenta cada atributo:
- Campo: el nombre del campo (tome en cuenta las recomendaciones que aparecen en el primero de los dos artículos que menciono líneas arriba)
- Tipo: el tipo de datos. Presenta muchas opciones, pero puedo mencionarles los siguientes:
- INT = números enteros. Es ideal para la clave principal del registro, además de otros datos similares
- VARCHAR = caracteres o texto
- DATE = fechas en formato mm/dd/yy
- FLOAT = números de coma flotante o decimales
- BOOLEAN = datos de valor dual como Falso/Verdadero, SI/NO, Activo/Inactivo
- Longitud: la longitud máxima de los datos a contener. Tome en cuenta que para los datos de tipo FLOAT debe indicarse la longitud total y cuantos decimales llevará (nivel de precisión). Por ejemplo, si indicamos "8,2", 8 será el largo total del número, y 2 la cantidad de decimales. Para más detalles se puede consultar la documentación oficial.
- Predeterminado: el valor por defecto del campo. Se puede dejar en blanco si no hay ninguno.
- Nulo: Indica si el campo permitirá contener valor nulo, es decir, ningún valor.
- Indice: En el caso de que el campo sea la Clave Principal de la tabla, se indica en esta columna
- A_I: Significa Auto Incrementable, este campo activado habilita a MySQL a asignar un valor que se incrementa automáticamente en cada nuevo registro.
- Comentarios: Recomiendo ámpliamente llenar este campo con una breve explicación del dato que se esta almacenando. Con el tiempo vamos aprendiendo el valor de documentar todo lo que hacemos, se los puedo asegurar ;-)
Luego podremos "Grabar" los cambios o "Añadir" más campos y "continuar". Los campos que dejemos sin nombre no se guardarán.
Todos los detalles de estos campos pueden ser modificados posteriormente, aunque sería ideal estudiar bien la estructura de la base de datos desde el principio. Así tendremos lista nuestra tabla.
Luego podremos agregar registros con la opción "Insertar", eliminarlos, vaciar la tabla o eliminarla, modificar su estructura, o realizar cualquier tipo de consulta SQL. También tenemos la posibilidad de cargar datos desde un archivo externo desde varios formatos.
Igualmente podremos exportar a muchos tipos de archivos, cada formato nos presentará las opciones necesarias y se puede incluso comprimir los archivos resultantes.
Otra herramienta muy buena para diseño de bases de datos en MySQL es la provista por la empresa ORACLE, dueños de MySQL. Se trata de MySQL Workbench y podemos encontrarlo "aun" gratis en su página oficial http://wb.mysql.com/, les invito a que le den un vistazo.
Por favor, no duden comentar, preguntar o cuestionar lo escrito en este blog, todos estamos para aprender algo nuevo cada día.
Todos los detalles de estos campos pueden ser modificados posteriormente, aunque sería ideal estudiar bien la estructura de la base de datos desde el principio. Así tendremos lista nuestra tabla.
Luego podremos agregar registros con la opción "Insertar", eliminarlos, vaciar la tabla o eliminarla, modificar su estructura, o realizar cualquier tipo de consulta SQL. También tenemos la posibilidad de cargar datos desde un archivo externo desde varios formatos.
Igualmente podremos exportar a muchos tipos de archivos, cada formato nos presentará las opciones necesarias y se puede incluso comprimir los archivos resultantes.
Otra herramienta muy buena para diseño de bases de datos en MySQL es la provista por la empresa ORACLE, dueños de MySQL. Se trata de MySQL Workbench y podemos encontrarlo "aun" gratis en su página oficial http://wb.mysql.com/, les invito a que le den un vistazo.
Por favor, no duden comentar, preguntar o cuestionar lo escrito en este blog, todos estamos para aprender algo nuevo cada día.
Etiquetas:
bases de datos,
campo,
MySQL,
phpMyAdmin,
regristros,
tipos de datos
Suscribirse a:
Entradas (Atom)











