Olá pessoal, hoje irei mostrar como instalar e configurar o MySQL no Linux. Mostrando também, alguns comandos básicos, criação de usuários, resolvendo erros comuns e outras coisas a mais.
$> Visão Geral:
O MySQL é um SGBD (Sistema Gerenciador de Banco de Dados) muito famoso por ser robusto e prático, para se ter um exemplo, a NASA, a Google e a Sony usam banco MySQL. Atualmente o MySQL pertence ao grupo Oracle.
$> Instalação do MySQL:
Primeiramente, entre no site oficial do MySQL e baixe os executáveis para seu sistema. Por exemplo, baixe os pacotes .rpm, e instale normalmente. Geralmente se baixa e instala 3 pacotes, o MySQL Community Server (mysql-community-server), MySQL Community Server Client (mysql-community-server-client) e MySQL Community Server Error Message (mysql-community-server-errormessage). Abaixo irei mostrar como instalar no Ubuntu, e no OpenSUSE.
Ubuntu:
> sudo aptitude install mysql-server
OpenSUSE:
Por padrão, o OpenSUSE já vem com o MySQL instalado, mas caso você faça uma instalação customizada e não tenha o MySQL instalado, basta dar o seguinte comando no terminal:
> sudo zypper in mysql-community-server
mysql-community-server-client
mysql-community-server-errormessage
$> Instalação de Complementos:
Para manipular os dados do MySQL, você deve ter instalado dois complementos importantíssimos, o Apache e o phpMyAdmin. Em cada distribuição, vem uma configuração diferente, e uma instalação diferente também. Abaixo os comandos de como instalar o Apache e o phpMyAdmin no Ubuntu e no OpenSUSE.
Ubuntu:
> sudo aptitude install apache2 libapache2-mod-php5
php5 php5-mysql phpmyadmin
OpenSUSE:
> sudo zypper in apache2 apache2-mod_php5
php5 php5-mysql phpMyAdmin
Agora pessoal, basta iniciar o serviço do Apache, pelo gerenciador de serviços:
Ou com o seguinte comando (como root):
> /etc/init.d/apache2 start
ou
> sudo service apache2 start
Para testar, escreva localhost/phpMyAdmin (localizado em /srv/www/htdocs/phpMyAdmin/), irá abrir a página abaixo:
$> Configuração do MySQL:
Agora basta dar o seguinte comando no terminal (como root):
mysqld_safe &
Ou pressionar Alt+F2 e dar o comando kdesu mysqld_safe (se sua distro tiver o KDE instalado), ou gksudo mysqld_safe (se sua distro tiver o GNOME instalado).
Agora dê o seguinte comando no terminal e veja se irá iniciar normalmente, caso dê algum erro, olhe mais abaixo a resolução do erro.
> mysql
$> Erros Comuns:
Error 2002:
Obs.: Esteja com o serviço parado.
Esse erro é comum quando tentamos iniciar o MySQL, e ele não está com alguns parâmetros configurados, para resolver isso, dê os seguintes comandos (como root):
> mysql_install_db
> chown -R mysql.mysql /var/lib/mysql
Inicie o serviço como acima (mysqld_safe), e dê o comando:
> mysql
Error 1045:
Basta dar os seguintes comandos no terminal:
> mysql -u root -p 'mysql' mysql> use mysql mysql> update user set password=PASSWORD("NEW-PASSWORD")
where User='root'; mysql> flush privileges; mysql> quit
Onde, NEW-PASSWORD é a nova senha de administrador.
$> Comandos básicos MySQL:
Manipulação de Usuários:
Root:
Para mudar a senha de root, basta dar o seguinte comando:
> mysqladmin -u root 'SENHA'
Onde SENHA é a senha que você irá colocar para Root.
Criando outros usuários:
Acesse o MySQL:
> mysql
Usuários com acesso total apenas em base local:
mysql> CREATE USER 'NOME'@'localhost'
IDENTIFIED BY 'SENHA';
mysql> GRANT ALL PRIVILEGES ON *.* TO
'NOME'@'localhost' WITH GRANT OPTION;
Usuários com acesso total em qualquer base de qualquer host:
mysql> CREATE USER 'NOME'@'%' IDENTIFIED BY 'SENHA';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'NOME'@'%'
WITH GRANT OPTION;
Comandos de Uso de Banco de Dados:
Abaixo irei mostrar como criar uma database, usá-la e exclui-lá.
-> Criando uma base de dados (BD):
CREATE DATABASE MEU_BANCO
-> Selecionando base de dados (para uso de funções DML):
USE MEU_BANCO;
-> Excluindo a base de dados:
DROP DATABASE MEU_BANCO
;
Comandos DML (Linguagem de Manipulação de Dados):
Os comandos DML são usados para selecionar, inserir, atualizar e apagar dados.
-> Seleção de Dados
SELECT 'CAMPO_1', 'CAMPO_2' FROM 'TABELA'
WHERE 'CONDICOES';
-> Inserção de Dados
INSERT INTO TABELA (CAMPO_1,CAMPO_2)
VALUES ('valorA','valorB');
-> Alteração de Dados
UPDATE TABELA SET CAMPO_1='valor1',
CAMPO2='valor2' WHERE 'CONDICOES';
-> Exclusão de Dados
DELETE FROM TABELA WHERE 'CONDICAO';
Comandos DDL (Linguagem de Definição de Dados):
Os comandos DDL permitem criar tabelas novas e elemetos associados, como exclusão.
-> Criação de Tabela
CREATE TABLE 'FUNCIONARIO'(
'CODIGO' INT,
'NOME' VARCHAR(50),
);
-> Exclusão de Tabela
DROP TABLE 'FUNCIONARIO';
-> Exibição de Tabela
DESC 'FUNCIONARIO';
Comandos DCL (Linguagem de Controle de Dados):
Os comandos DCL controlam as permissões (autorização) de manipulação dos dados e licença dos usuários, ou seja, com os comandos GRANT (permito) e REVOKE (retiro permissão), consigo manipular, quais usuários terão acesso a dados de uma base de dados.
-> Liberação total ao USUARIO em LOCALHOST:
GRANT ALL PRIVILEGES ON *.* TO 'USUARIO'@'LOCALHOST'
WITH GRANT OPTION;
-> Retirada de permissão no comando INSERT:
REVOKE INSERT ON *.* FROM 'USUARIO'@'LOCALHOST';
Bom pessoal, por hoje é só.
Abraços e até a próxima.
No erro 1045 apareceu o seguinte:
# mysql -u root -mysql
mysql: unknown option ‘-m’
Boa tarde Cassio,
Me desculpe, quando fiz a postagem, esqueci de colocar o -p e a base entre apóstrofos. Já arrumei a postagem, e abaixo como ficaria o comando:
# mysql -u root -p ‘mysql’
Muito obrigado pela visita.
Abraços.
Eu gosto de usar com mysql no linux uma ferramenta gratuita Valentina Estúdio http://www.valentina-db.com/en/valentina-studio-overview… no momento. Será que tudo que você precisa, e faz isso muito bem.
Bom dia Denis.
Não conhecia esse projeto, pela descrição e imagens é muito bom mesmo.
Abração e boa semana.