• Aviso Legal
  • About

Bienvenidos al Blog de David Rodriguez

Category Archives: Base De Datos

como ejecutar mysql desde el terminar de MAC con MAMP

febrero 11, 2016 2:57 pm / Leave a Comment / David Rodriguez

Si hemos instalado MAMP en nuestro Mac y queremos acceder a la base de datos desde el terminal, lo mas normal es utilizar el comando

> mysql

pero ohhhh nos encontramos que nos da un maravilloso

>mysql: command not found

Esto ocurre porque no tenemos el ejecutable de mysql metido en el PATH, y por ello, o accedemos con la ruta donde se encuentra el lanzador, o el sistema no encuentra el atajo.

Si tenemos MAMP instalado en nuestro Mac, la ruta es la siguiente:

/Applications/MAMP/Library/bin/mysql

podriamos lanzar directamente el mysql usando esta ruta, pero como solemos ser muy vagos, lo mejor es incluirlo en el path. Para ello, nos creamos o editamos el fichero que tenemos en nuestro usuario

> vi~/.bash_profile

y añadimos la siguiente linea

export PATH=$PATH:/Applications/MAMP/Library/bin

guardamos y cerramos el fichero.(wq)

Cierra el terminal en el que estas y abre uno nuevo y ya te funcionará el atajo de ruta

mysql -u root -p

 

 

 

Posted in: Base de datos, Mac / Tagged: Base de datos, MacOS, MAMP

Filtrar datos númericos en una consulta MySQL como si fuera isNumeric

abril 2, 2014 11:39 am / Leave a Comment / David Rodriguez

Si necesitamos tener una consulta SQL en una base de datos MySQL y sacar por ejemplo todos los datos númericos de una columna, podemos hacerlo de la siguiente forma:

SELECT campos FROM tabla

WHERE columna REGEXP ‘^[0-9]+$’

 

De esta forma sacamos los registros de la tabla en los que columna solo contiene números.

Posted in: Base de datos / Tagged: mysql

como acceder a mysql con usuario root en plesk

marzo 11, 2014 5:11 pm / Leave a Comment / David Rodriguez

Para acceder como usuario root a todas las bases de datos de un motor MySql dentro de plesk, lo podemos hacer de la siguiente forma, si tenemos acceso de root a una consola

mysql -uadmin -p`cat /etc/psa/.psa.shadow`

Posted in: Base de datos, servidores / Tagged: Base de datos, linux, mysql

Error Mysql 1030 Got error 134 from storage engine

junio 20, 2012 9:30 am / Leave a Comment / David Rodriguez

Hace unos días tuvimos un corte de luz en nuestros servidores, y una tabla de la base de datos MySql quedo corrupta. Al intentar hacer una consulta sobre esa tabla, nos generaba el siguiente error de mysql:

Error Mysql 1030 Got error 134 from storage engine

Para solucionar esto, debemos reparar la tabla en cuestion ejecutando las siguientes consultas:

> check table NOMBRETABLA;

para ver los errores que tenemos en la tabla

> repair table NOMBRETABLA;

para solucionar los errores en esa tabla y dejar la tabla otra vez operativa.

Posted in: Base de datos, Programacion / Tagged: Base de datos, mysql

Cambiar contraseña de root de Mysql con MAMP

marzo 23, 2012 10:29 am / 3 Comments / David Rodriguez

Si queremos cambiar la contraseña de root en MAMP, podemos utilizar el siguiente comando en el terminal:

/Applications/MAMP/Library/bin/mysqladmin -u root -p password NUEVAPASS

Donde NUEVAPASS es la contraseña nueva que queramos poner.

Nos pide la contraseña antigua, y una vez metida, ya está hecho el cambio.

Posted in: Base de datos, Mac, servidores / Tagged: MacOS, MAMP, mysql

configuracion MATCH AGAINST en MySQL para menos de 4 caracteres

octubre 3, 2011 4:13 pm / 3 Comments / David Rodriguez

Si utilizamos en nuestras búsquedas MATCH AGAINST de MySQL, tenemos una limitación de 4 caracteres. Cualquier palabra menor a 4 caracteres no la encontrará.

Para modificar esta configuración, debemos abrir el fichero /etc/my.cnf

y añadir lo siguiente:

[mysqld]
ft_min_word_len=3

[myisamchk]
ft_min_word_len=3

guardamos el fichero y reiniciamos el servicio del mysql.

/etc/rc.d/init.d/mysqld restart

Una vez reiniciado el servicio de la base de datos MySQL, debemos reconstruir los indices FULLTEXT que tengamos en las tablas. Para ello modificar TABLA-BASEDEDATOS por cada una de las tablas en las que tengamos indices FULLTEXT.

La forma de realizarlo es:

repair table TABLA-BASEDEDATOS quick;

Posted in: Base de datos / Tagged: Base de datos, mysql

Reemplazar un caracter en un campo de mysql

septiembre 7, 2011 3:41 pm / 1 Comment / David Rodriguez

Si se nos ha colado un caracter o texto que no queremos en alguna columna de una tabla de la base de datos MySql, tenemos la posibilidad de reemplazarlo rapidamente.

UPDATE tabla SET campo = REPLACE(campo,'texto a buscar','nuevo texto'), campo1 = REPLACE(campo1,'texto a buscar','nuevo texto');

Esto nos puede ayudar mucho para eliminar caracteres extraños, spam, etc.

Sencillo ¿verdad?

Posted in: Base de datos, Programacion

Optimizacion de consultas sql con lower y trim

febrero 19, 2010 12:01 pm / Leave a Comment / David Rodriguez

Muchas veces utilizamos para buscar algún campo String en una base de datos MySql, confirmamos con lower y trim para poner todo el texto en minúsculas y eliminar espacios en blanco, tanto el principio como al final del registro.

SELECT * FROM tabla WHERE lower(trim(email))=lower(trim(‘[email protected]’));

Eliminar esas funciones sql en MySql reduce la consulta en un 70% con un número alto de registros.

La mejor solución para esto es:

  1. Introducir los datos con esas opciones ya realizadas. Facilmente en php o cualquier otro lenguaje de programación podemos realizar estas funciones, con un uso de máquina mucho menor.
    $email = strtolower(trim($email));
  2. actualizar todos los datos de la tabla para no tener estos problemas en un futuro
    UPDATE tabla SET email=lower(trim(email));
  3. Ya se puede eliminar estas funciones de la consulta(query).
    SELECT * FROM tabla WHERE email=’[email protected]’;

Es importante reducir el uso de CPU por parte de las consultas a base de datos, que es lo que nos puede retardar las respuestas al cliente. Como siempre hemos comentado, es muy importante optimizar las sentencias SQL para optimizar los tiempos de respuesta de la pagina web. Hay muchas cosas además de Indexar las tablas para optimizar una base de datos mysql.

Posted in: Base de datos, Internet, Programacion / Tagged: Base de datos, mysql, SQL

Error muy comun con between en mysql

septiembre 25, 2009 10:03 am / 24 Comments / David Rodriguez

Cuando hacemos una comparación de fechas en Mysql, es muy facil cometer un error que puede no verse reflejado en las pruebas que se hagan.

SELECT * FROM tabla WHERE fecha BETWEEN ‘2009-09-01’ AND ‘2009-09-30’ ;

Esta consulta algunas veces dará resultados válidos y otros invalidos. El problema es que si el campo fecha es un campo TIMESTAMP, no hace la comprobación unicamente por la fecha como nosotros queremos.

Para asegurarnos que hace la comparación unicamente con la fecha debemos añadir el comando DATE.

La consulta correcta sería :

SELECT * FROM tabla WHERE DATE(fecha) BETWEEN ‘2009-09-01’ AND ‘2009-09-30’ ;

Posted in: Base de datos, Internet / Tagged: Base de datos, bd, between, mysql

rownum en mysql. numero de lineas por consulta

septiembre 11, 2009 3:06 pm / 1 Comment / David Rodriguez

Puede que necesitemos realizar un numrow de oracle en mysql. Es sencillo tratandolo como variables.

SELECT @rownum:=@rownum+1 AS rownum, aux.* FROM
(
SELECT *
FROM table
WHERE 1) aux, (SELECT @rownum:=0) r

Puedes emular la inicialización de la variable a 0 como si fuera una tabla auxiliar.

Posted in: Base de datos / Tagged: Base de datos, bd, mysql, rownum

Post Navigation

1 2 Siguiente »

Categorias

  • Base de datos
  • Empresas
  • Internet
  • Mac
  • marketing
  • Otros
  • Prensa
  • Programacion
  • Redes Sociales
  • Retos deportivos
  • Seguridad
  • SEO
  • servidores
  • SPAM
  • Uncategorized
© Copyright 2025 - Blog de David Rodriguez