Mysql - comandos

De MochilaWiki

Mysql é um servidor de bancos de dados livre. Muito bom para servidores de pequeno e médio porte. Site oficial www.mysql.com instalando

# apt-get install mysql-server

Utilizando mysql

Para utilizar o mysql você por usar através do seu prompt de comando ou através de alguma interface como o phpmyadmin.

No prompt aqui vai algumas dicas de utilização:

Após instalar o mysql ele vem sem senha, então no após o primeiro acesso é bom colocar uma senha, para acessar digite o comando:

$ mysql -u root -p

u - user/usuario p - password/senha

e tecle enter

você irá cair num prompt assim: mysql >

esse é o prompt do mysql ;) depois digite a linha

mysql > set password = password ('minhasenha');

e confirme a alteração

mysql > flush privileges;

criando usuário no mysql e permissões

acesse o mysql

$ mysql -u root -p
mysql> grant all on bancodedados.* to banto@localhost identified by 'minhasenha';
mysql> flush privileges;

aqui eu criei um usuario (grant) com todos privilégios (all) para X banco de dados (bancodedados), o nome do usuario local eh banto e tambem a senha que quero para esse usuario o FLUSH PRIVILEGES confirmar tudo aquilo que fiz acima

Para criar um usuário com todas as permissões sobre todos os bancos de dados:

mysql > grant all on *.* to banto@localhost identified by 'minhasenha';


Para remover todas as permissões de um usuário de um banco de dados

mysql > REVOKE ALL PRIVILEGES ON `cirandanova` . * FROM 'ciranda'@'localhost';

comando basicos

  • show databases; - voce ver os bancos de dados disponivel
  • use banto; - para voce usar o banco de dados banto
  • show banto; - para voce ver as tabelas do banco de dados banto
  • show tables; - para voce ver as tabelas e campos do banco de dados banto
  • show columns from coluna; - para voce ver as colunas da tabela
  • select * from banto; - para voce ver o conteudo de todas as tabelas

comandos mysql através do prompt bash importando um banco de dados:

$ mysql -u banto -p bandodedados < bancodedados.sql

exportando um banco de dados:

$ mysqldump -u banto -p bancodedados > bancodedados.sql

criando um banco de dados:

$ mysqladmin -u root -p create banto

apagando um banco de dados:

$ mysqladmin -u banto -p drop bancodedados

exportando todas os bancos de dados:

$ mysqldump -u root -p --all-databases > todastabelas.sql

mostra os privilegio de usuario

mysql > SHOW GRANTS FOR drupal@localhost;

apagando usuario no mysql

mysql> DELETE FROM mysql.user WHERE user="teste" AND host="localhost";
mysql> FLUSH PRIVILEGES;

mostrando usuarios

mysql > use mysql; select user from user;

mostra banco e donos

mysql > use mysql; select Db,user from db;


lista os usuários

mysql > select User from mysql.user;

mostra as permissões do usuário

mysql > SHOW GRANTS FOR zion@localhost;

remove as permissoes do usuário num banco

mysql > REVOKE ALL ON oca.* FROM oca@localhost;

apagar usuário

mysql > DROP USER oca@localhost;

otimizar bancos de dados

mysqlcheck -u root -p --auto-repair --optimize --all-databases

reparando tabela

use acapulco;
REPAIR TABLE jas_options;
CHECK TABLE jas_options;

remove todas as permissões de um usuário

REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'fulano'@'%';
flush privileges;

root sem senha, crie o arquivo ~/.my.cnf

[client]
user=root
password=suasenha
socket=/var/run/mysqld/mysqld.sock


mostra o tamanho do campo com maios caracteres

SELECT MAX(LENGTH(field_observacoes_value)) FROM content_type_tupi;

mostra itens acima de 255 caracteres

SELECT * FROM content_type_tupi  WHERE LENGTH(field_observacoes_value) > (255);

MYSQL: Limpeza dos logs binários

InnoDB: Unable to lock ./ibdata1, error: 11

cd /var/lib/mysql
mv ibdata1 ibdata1.bak 
cp -a ibdata1.bak ibdata1
/etc/init.d/mysql restart
service mysql restart

localizando número do PID

lsof -i:3306