Posts tagged: MySQL

Descobrindo o tamanho de um database no MySQL

Pegar o tamanho de todas os databases do MySQL:

SELECT TABLE_SCHEMA AS ‘Database_name’, TABLE_NAME AS ‘=’Table_Name’, CONCAT(ROUND(((DATA_LENGTH + INDEX_LENGTH – DATA_FREE) / 1024 / 1024),” Mb”) AS Size FROM INFORMATION_SCHEMA.TABLES;

Pegar o tamanho de todas as tabelas de uma única database no MySQL:

SELECT TABLE_SCHEMA AS ‘Database_name’, TABLE_NAME AS ‘Table_Name’, CONCAT (ROUND((DATA_LENGTH + INDEX_LENGTH – DATA_FREE) / 1024/ 1024),2), ” MB”) AS Size FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = ‘nome_da_sua_database’;

Pegar o tamanho total de uma única database:

SELECT (SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH – DATA_FREE) / 1024 / 1024), 2)), ” MB”) AS Size FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = ‘nome_da_sua_data_base’;

Recuperando a senha do root do MySQL

mysql_logoA empresa que trabalho assumiu a administração dos servidores de um cliente, até então nada de espantoso, porém dessa vez eles vieram com um brinde um MySQL sem senha de administrador (notem que eu disse sem senha de administrador e não com senha em branco). O problema é que o pessoal queria que fosse adicionado novos bancos e as aplicações usavam usuarios com permissões especificas (o correto) para acesso somente as bases deles. A idéia foi quebre a senha ou recupere a anterior, bom então tive que arregaçar as mangas e por as mãos na massa.

Para começar parei o MySQL e o iniciei em “safe mode”

# service mysql stop
Stopping MySQL …                 [OK]
# mysqld_safe –skip-grant-tables &

Depois que o mysql entrou em “safe mode” conectei no mesmo e troquei a senha do administrador.

# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 57
Server version: 5.0.45 FreeBSD port: mysql-server-5.0.45_1

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql>

Utilizei a base do MySQL:

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

Após o acesso a base rodei uma query para trocar a senha

UPDATE user SET Password=PASSWORD(‘ultra-secreto’) WHERE Host=’localhost’ AND User=’root’;

Coloquei uma nova senha para o administrador do MySQL (root), após a troca desconectei do MySQL.

mysql> quit
Bye

Para terminar matei o processo do mysqld_safe e reinicei o MySQL normalmente.

# ps ax | grep mysqld_safe

55723  p0- I      0:00.01 /bin/sh /usr/local/bin/mysqld_safe –skip-grant-tables

# kill 55723
# service mysql stop
Starting MySQL …                 [OK]

Novamente conectei ao MySQL mas agora a nova senha gerada.

# mysql -u root -pultra-secreto

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 57
Server version: 5.0.45 FreeBSD port: mysql-server-5.0.45_1

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql>

O prompt do MySQL surgiu o que me mostrou que o procedimento funcionou e o meu gerente ficou feliz!

WordPress Themes