Original post : http://anothermysqldba.blogspot.com/2014/06/mysql-table-error-1064.html
Así que me encontré con una situación extraña hoy.
Tengo un sistema que crea las tablas de memoria utilizando el PHP
$ _COOKIE ['PHPSESSID'] valor.
Una vez que un poco de trabajo se hace, a continuación, elimina
la tabla.
Dos tablas de ejemplo se encuentran por debajo de mi
ejemplo.
@@VERSION: 5.6.19-log
CREATE TABLE `f7a7a8d3a7ba75b5eb1712864c9b27eb` (
-> `id` int(11) NOT NULL AUTO_INCREMENT,
-> PRIMARY KEY (`id`)
-> ) ENGINE=MEMORY;
CREATE TABLE `8865e52c7e1bea515e7156f240729275` (
-> `id` int(11) NOT NULL AUTO_INCREMENT,
-> …
Para poder eliminar usuarios de una base de datos MySQL tenemos el comando DROP USER:
Si indicamos la combinación usuario@host podemos eliminar el acceso del usuario para esos determinados hosts, por ejemplo:
mysql> drop user 'joffrey'@'casterlyrock.com', 'joffrey'@'kingslanding.com';
Si indicamos únicamente el usuario, lo eliminaremos completamente, para todos los hosts:
mysql> drop user joffrey;
Tags: MySQL
Relacionados
[Lea más]InnoDB se convirtió en el motor de almacenamiento por defecto en MySQL 5.5. Era un paso lógico. Es un motor transaccional, escalable y con un rendimiento superior a MyISAM. Hay que recordar esa frase tan mítica... MyISAM es el lugar donde los datos van para morir. Pero ese cambio ha traído algunas consecuencias. Malas prácticas que en MyISAM no tenían ningún efecto visible en InnoDB pueden causar graves problemas.
Uno de ellos es dejar transacciones abiertas y olvidadas. Y no hablo de minutos o horas, si no días e incluso he llegado a ver semanas. Cuando te contactan y te dicen que hay un problema con alguno de estos síntomas:
- ibdata1 no para de crecer, nos vamos a quedar sin espacio en disco
- la base de datos funciona muy lenta y tenemos constantes errores de tiempo de espera agotado esperando bloqueos de filas
Ya casi tenemos claro donde está el problema. Un SHOW ENGINE …
[Lea más]Al realizar un mysqldump nos podemos encontrar con el siguiente warning:
# mysqldump --all-databases -- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.
Se trata de una alerta por si tenemos habilitado el event scheduler. Podemos consultarlo mediante:
mysql> show variables like '%event%'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | event_scheduler | OFF | +-----------------+-------+ 1 row in set (0.00 sec)
Si no lo estamos usando podemos ignorar la tabla para quitar el warning mediante:
--events --ignore-table=mysql.event
Encaso contrario, nos interesa que tengamos backup también de estos jobs, porlo que deberemos añadir:
--events
Tags: …
[Lea más]A partir de la versión 5.1.36 de MySQL, la opción –innodb puede usarse con tres valores para controlar si se arranca o no InnoDB y si se arranca, si es un engine obligatorio para el arranque del daemon de MySQL
Las opciones que podemos pasar a la opción innodb son:
- OFF: Desactivamos InnoDB
- ON: Activamos InnoDB, pero si falla en el arranque, el daemon puede arrancar (las tablas del resto de storage engines) a no ser que InnoDB sea el storage engine por defecto (opción –default-storage-engine)
- FORCE: Aunque InnoDB no sea el storage engine por defecto, si falla no permite el arranque de mysqld
Por lo tanto, podemos …
[Lea más]Mediante el fichero my.cnf no únicamente podemos configurar el comportamiento del servidor MySQL, sino que también los clientes como el comando mysql o mysqldump
Mediante la sección mysql podemos configurar el cliente del mismo nombre:
[mysql] socket=/tmp/mysql.sock
De la misma forma que lo podemos hacer para mysqldump:
[mysqldump] socket=/tmp/mysql.sock
Igual para mysqlhotcopy, pero podemos hacerlo globalmente para todos los clientes locales con la sección client:
[client] socket=/tmp/mysql.sock
De esta forma podemos configurar los parámetros globales en dicha sección y los específicos de cada herramienta en la propia sin tener que repetir parámetros
Tags: …
[Lea más]
Original post: http://anothermysqldba.blogspot.com/2014/05/mysql-benchmark-with-mysqlslap.html
Así que la evaluación comparativa de diferentes consultas de
MySQL en contra de su base de datos es una cosa sabia que
hacer. Eso debería ser evidente. Mientras que
optimizamos consultas lo mejor que podemos utilizar explicar (y
EXTENDIDO) llevándolos tiempo para compararlas deberían resultar
útiles.
Este es un simple ejemplo de ejecución de una sentencia
mysqlslap.
Para este ejemplo he cargado la base de datos de MySQL
MUNDO. ( …
En el caso que necesitemos entrar en el MySQL de una maquina con Plesk para evitar tener que usar el interfaz gráfico, primero deberemos localizar el password de root del MySQL
Podemos encontrar el fichero /etc/psa/.psa.shadow que contiene el password de root del MySQL:
# cat /etc/psa/.psa.shadow $AES-128-CBC$L0T0rD0u0CN0W0KB0T0n0w==$k050f0090g0E0fk0L0d0F0==
A primera vista diremos: ¡Esta cifrado!
Pero no, este es litralemente el password de root del MySQL, el único detalle es que el usuario administrador no se llama root como es habitual, sino que se llama admin. Por lo tanto, para conectarnos al MySQL como root de un Plesk deberemos ejecutar:
# mysql -uadmin -p$(cat /etc/psa/.psa.shadow) Enter password: Welcome to the MySQL monitor. Commands end …[Lea más]
Original post: http://anothermysqldba.blogspot.com/2014/04/mysql-partitions-timestamp-datetime.html
Así que hace poco me di cuenta de que aún no he hablado mucho
sobre las particiones de MySQL.
Muchos mensajes de blog en buenas particiones MySQL ya existe y
yo hemos enumerado algunos abajo.
En las bases de datos, no nos interesa tener índices duplicados para evitar el coste extra que implica actualizarlos (además del espacio en disco). Por eso, deberemos tener en cuenta que si creamos una foreign key, estamos también creando un índice sobre dicha columna y por lo tanto, no es necesario crear otro índice:
Podemos verlo mediante las siguientes dos tablas, t2 tiene una foreign key sobre el segundo campo:
mysql> create table t1(id int primary key); Query OK, 0 rows affected (0.08 sec) mysql> create table t2 (id int primary key, id2 int, constraint k foreign key (id2) references t1(id)); Query OK, 0 rows affected (0.06 sec)
Insertamos unos datos de ejemplo:
mysql> insert into t1 values (1),(2); Query OK, 2 rows affected (0.02 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> insert into t2 values (1,1),(2,1),(3,1),(4,2); Query OK, 4 rows affected (0.03 sec) Records: 4 …[Lea más]