segunda-feira, 29 de setembro de 2014

Configurando acesso remoto ao mysql e listando tabela de usuários

Configurando acesso remoto servidores mysql:

1. Altere o arquivo de configuração do MySQL. Para isso, execute o seguinte comando, como root para abrir o arquivo de configuração: 

$ vim /etc/mysql/my.cnf 

2. Mude o IP da seguinte linha, para 0.0.0.0

  bind-address  =  127.0.0.1 

Ficando assim: 


bind-address = 0.0.0.0

3. Reinicie o serviço do MySQL: 

$ /etc/init.d/mysql restart 

4. Entre no MySQL com o usuário root: 

$ mysql -u root -p[senha] 

5. Conceda o seguinte privilégio: 

5.1 - concessão de acesso para todos os bancos para o usuario root de qualquer origem
mysql> GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '[senha]' WITH GRANT OPTION; 

5.2 - Caso queira conceder acesso a uma máquina específica da rede: 
mysql> GRANT ALL ON *.* TO 'root'@'[ip da máquina]' IDENTIFIED BY '[senha]' WITH GRANT OPTION; 

6. Execute o seguinte comando: 

mysql> FLUSH PRIVILEGES; 

Obs.: caso queira testar a conexão, execute esse comando em uma máquina cliente da rede: 

$ myslq -uroot -p[senha] -h[IP do servidor] 


Para listas as permissões de um usuário, execute:


mysql> SHOW GRANTS FOR 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for root@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+

Para listar a tabela de usuários do mysql, execute:

mysql> select user,host from mysql.user;
+-----------------+-------------------------+
| user            | host                   |
+-----------------+-------------------------+
| root            | 127.0.0.1            |
| root            | localhost             |
+-----------------+-------------------------+


fontes:
https://dev.mysql.com/doc/refman/5.5/en/grant.html
http://www.vivaolinux.com.br/dica/Configurando-acesso-remoto-em-servidores-MySQL
https://dev.mysql.com/doc/refman/5.5/en/show-grants.html

quarta-feira, 24 de setembro de 2014

SVN - Principais comandos

Principais comandos SVN

svn import
- modo rápido de copiar uma árvore de arquivo não versionada em um repositório.

ex.: copiar todo o conteúdo da pasta projeto para o repositório:
svn import projeto https://servidorwebsvn.xpto.com.br/svn/xpto/projeto -m "Importacao arquivos projetos"

svn checkout (ou apenas svn co)

- cria uma cópia de trabalho em sua máquina local, do projeto que você esta trabalhando.

ex.: copiar os arquivo do servidor svn para a pasta projeto:
svn checkout https://servidorwebsvn.xpto.com.br/svn/xpto/projeto projeto

svn update
- deixa a cópia do seu projeto em sincronia com a última revisão do repositório.

ex.:
svn update

svn add
- adiciona novo arquivo ao repositório
ex.: svn add arquivo.txt

svn delete (svn del ou svn rm ou svn remove)
- deleta arquivo do repositório
ex.: svn delete arquivo.txt

svn copy (svn cp)
- faz a cópia de um arquivo
ex.: svn copy imagem.gif imagem_copia.gif

svn move (svn mv)
- move um arquivo de lugar no repositório
ex.: svn move pasta/arquivo.txt pasta/texto/arquivo.txt

svn mkdir
- cria uma pasta no repositório
ex.: svn mkdir imagem

svn status
- mostra as alterações de arquivos e diretórios realizadas
ex: svn status

svn commit
- envia todas as alterações efetuadas localmente para o repositório no servidor.
ex.: svn commit -m "atualizacao de alterações xyz"


Mais detalhes: SVN Book
http://svnbook.red-bean.com/
PT_BR: https://code.google.com/p/svnbook-pt-br/


sexta-feira, 5 de setembro de 2014

Dicas De Consulta No MySQL

Criando A Base De Dados MySQL

Antes de iniciarmos nossos exemplos, vamos criar a base de dados a ser trabalhada?
Crie uma tabela no seu banco de dados com o nome “torcedores” (de acordo com a estrutura abaixo):
-----INCIO TABELA TORCEDORES -----
CREATE TABLE `torcedores` (

  `id` smallint(6) NOT NULL auto_increment,

  `Nome` varchar(50) NOT NULL,

  `Time` varchar(50) NOT NULL,

  PRIMARY KEY  (`id`)   

 );
INSERT INTO torcedores VALUES ('1','Fabrício','Corintians');

INSERT INTO torcedores VALUES ('2','Felipe','São Paulo');


INSERT INTO torcedores VALUES ('3','Gustavo','Corintians');


INSERT INTO torcedores VALUES ('4','Daniel','Palmeiras');

INSERT INTO torcedores VALUES ('5','Leonardo','Palmeiras');
----- FIM TABELA TORCEDORES ------

OBS.: Copie tudo o que está dentro do ficheiro “codigo-fonte.txt”e cole no SQL Editor (conforme imagem abaixo).
Feito isso, clique em F9 (RUN) e o Programa carregará suas informações na base de dados, efetuando a inserção de seu conteúdo.
Criar Tabela
Agora que você efetuou a inserção da tabela “torcedores”, vamos começar a fazer nossos testes?

Dica 1 – Usando O DISTINCT

DISTINCT pode ser usado para evitar repetições de dados na hora do select.
—– Exemplo Do SELECT Na Forma Comum —–select
OBS.: Veja que no exemplo acima, o Time Palmeiras repetiu 2 vezes.
Exemplo Do SELECT Usando O DISTINCTdistinct
OBS.: Veja que usando o DISTINCT o SELECT trouxe apenas 1 registro de cada Time.
A princípio você pode não ver muita utilidade neste comando, mas garanto para você que no passar do tempo, ele se tornará necessário!

Dica 02 – Usando O ORDER BY

Este comando tem por finalidade trazer os registros em ordem ascendente (ASC) ou descendente (DESC). Caso você não o insira, ele seguirá sempre o padrão ascendente.
order by
No exemplo acima usamos o comando ASC.
Veja que os Nomes estão devidamente ordenados (diferente dos Times e ID).
desc
Na imagem acima você vê o exemplo de DESC (veja que ele altera apenas os Nomes, ordenando os registros de cima para baixo).

Dica 03 – Usando O LIMIT

O comando LIMIT (como o nome já diz) tem a finalidade de limitar os registros, imprimindo em tela o registro a seguir (como você pode ver na imagem).
limit
Bem… como programador, vou lhe passar exatamente o que “imagino” ao efetuar esteSELECT (até para que facilite a você que está inciando).
Veja que no SELECT coloquei após o LIMIT o registro 3,1. Correto?
Na hora da impressão em tela, ele imprimiu o registro 4.
Na hora que você coloca “3,1”, é como se você tivesse dizendo ao Sistema: Finalize no terceiro registro, “lembrando que ele inicia no registro número 1”.
Prático, não?
Bem… ficamos por aqui com mais uma matéria de MySQL. Espero que com essas dicas possamos lhe ajudar durante o desenvolvimento!
Caso você tenha qualquer dúvida ou dificuldade durante o procedimento, entre em contato conosco e teremos o enorme prazer em lhe ajudar.
Fonte: http://www.webmaster.pt/dicas-consulta-mysql-1940.html

Exemplos Práticos De MySQL

Criando a Tabela na Base de Dados

Antes de partirmos para a programação, abra o arquivo script-sql.txt (disponível no ficheiro em anexo) e cole seu conteúdo no Programa utilizado para gerenciamento da base de dados.
OBS.: Neste ficheiro você deverá encontrar o código abaixo:

----- CRIANDO A TABELA tbl_usuarios -----

CREATE TABLE `tbl_usuarios` (
  `id` int(11) NOT NULL auto_increment,
  `nome` varchar(150) NOT NULL default '',
  `email` varchar(150) NOT NULL default '',
  `email2` varchar(150) default NULL,
  `senha` varchar(50) NOT NULL default '',
  `tipo` char(1) default NULL,
  `status` varchar(10) NOT NULL default '',
  PRIMARY KEY  (`id`)
);

----- INSERINDO DADOS NA TABELA tbl_usuarios -----

INSERT INTO `tbl_usuarios` VALUES (1,'Administrador','comandosusa@gmail.com',NULL,'123456','a','1');
INSERT INTO `tbl_usuarios` VALUES (2,'Quemuel Aquino','comandosusa@gmail.com','comandosusa@ymail.com','123456','c','1');
Em nossas matérias de MySQL utilizamos como padrão o MySQLFront. Caso você queira utilizar este programa, clique em SQL Editor e cole o conteúdo do script (conforme imagem abaixo).
Criando a Tabela
Após criar a estrutura da base de dados, vamos agora efetuar os testes junto ao MySQLFront.

Exemplos Práticos

Trabalhar com estes comandos não é algo difícil. Basta apenas prestar atenção!
Abaixo estaremos dando um pequeno resumo (na prática) sobre os comandos mais usados em MySQL (baseado no script que inserimos na base de dados).
SELECT:
Trata-se do comando usado para “visualização” dos registros cadastrados na base de dados.
Ele pode ser usado da seguintes maneiras:
Exemplo 1:

SELECT * FROM tbl_usuarios WHERE id = '2';
OBS.: No exemplo acima, efetuei o SELECT buscando TODOS os registros da tabela que são identificados pela ID de número “2″.
Exemplo 2:

SELECT nome, email, email2 FROM tbl_usuarios WHERE id = '2';
OBS.: No exemplo acima efetuamos o SELECT buscando apenas 3 campos (nome, email e email2).
INSERT:
Trata-se do comando de Inserção de valores na base de dados.
Ele pode ser executado de 2 maneiras:
  • Apresentando apenas os valores (conforme o exemplo a seguir):
    
    INSERT INTO `tbl_usuarios` VALUES (1,'Administrador','comandosusa@gmail.com',NULL,'123456','a','1');
  • Apresentando os valores e os nomes dos campos (conforme o exemplo a seguir):
    
    INSERT INTO `tbl_usuarios` (nome, email, email2, senha, tipo, status)VALUES (1,'Administrador','comandosusa@gmail.com',NULL,'123456','a','1');
OBS.: Para evitar problema quanto a inserção em campos diferentes (ou falhas durante a inserção do conteúdo), indicamos a segunda opção.
UPDATE:
Trata-se do comando de atualização de valores na base de dados.
Ele deve ser executado da seguinte maneira:

UPDATE tbl_usuarios SET
  nome   = 'VALOR',
  email  = 'VALOR',
  email2 = 'VALOR',
  senha  = 'VAOR',
  tipo   = 'VALOR',
  status = 'VALOR'

    WHERE id = 'VALOR';
OBS.: Trabalhar com UPDATE não é complicado, porém, é necessário tomar cuidado com a “,” (virgula). Ela não deverá ser inserida antes do último ítem a ser atualizado (veja antes da ID).
O erro mais comum do Programador é inserir a vírgula também nesta área, causando assim erro na execução da atualização.
DELETE:
Trata-se do comando de exclusão de valores da base de dados.
Ele “deve” ser executado da seguinte maneira:

DELETE FROM tbl_usuarios WHERE id = id;
OBS.: A Cláusula WHERE “deve” ser inserida. Caso ela não seja inserida, o comando exclui “TODOS” os registros da tabela.
SHOW TABLES:
Este comando tem a finalidade de listar todas as tabelas disponíveis na base de dados!
OBS.: Digamos que você esteja desenvolvendo e tenha esquecido o nome de uma tabela? Ele lhe permite uma consulta rápida (veja o exemplo na imagem a seguir).
Listando Tabelas
SHOW COLUMNS:
O comando abaixo tem a finalidade de listar todos os campos disponíveis na tabela.
OBS.: Esse comando pode ser usado para verificação rápida de um campo.
Verificando os Campos
Bem… são exemplos básicos, porém práticos, onde você precisa tomar muita atenção para não ter problemas!
Claro, existem vários outros… mas nossa intenção através desta matéria era a de passar os principais comandos (focando nos principais detalhes).
Ficamos aqui com mais esta matéria de MySQL!
Poste suas dúvidas, observações… em caso de dúvidas ou maiores informações, entre em contato conosco!
Teremos grande prazer em lhe ajudar!
Fonte:http://www.webmaster.pt/exemplos-praticos-mysql-3864.html

33 Exemplos Do Comando find No Linux


No Linux, o comando find permite fazer pesquisas de determinados ficheiros ou pastas dentro do sistema de ficheiros.
Permite também conjugar vários comandos para executar determinadas tarefas.
Vamos mostrar alguns exemplos concretos da utilização do comando find.

Usar O Comando find No Linux Com Base No Nome Do Ficheiro

Imagine que você precisa de procurar um ficheiro de imagem com o nome articles.jpg, dentro duma instalação Joomla, alojada num servidor Linux. Na document root, execute o comando:
find . -name "articles.jpg"
O output será:
./images/stories/articles.jpg
se quisermos também executar algum comando no ficheiro, como, por exemplo, alterar as permissões do ficheiro:
find . -name "articles.jpg" -exec chmod 644 {} \;
Se quiser por exemplo pesquisar o mesmo nome de ficheiro dentro da pasta images:
find images -name "articles.jpg"
Se preferir usar um caminho físico absoluto:
find /home/username/public_html/images -name "articles.jpg"
Se precisar de pesquisar o nome do ficheiro, mas sem que a pesquisa seja CASE SENSITIVE, experimente:
find . -iname "Articles.jpg"
Veja a diferença com:
find . -iname "Articles.jpg" -exec ls -l {} \;
ou
find . -iname "Articles.jpg" -print0 | xargs -0 ls -l

Usar O Comando find No Linux Com grep Para Pesquisar Uma string Ou Texto

Imagine que precisamos de encontrar um pedaço de código num dos ficheiro PHP do Joomla, mas não sabemos em qual. Vamos pesquisar a palavra joomla em todos os ficheiros php:
find . –name "*.php" -print0 | xargs -0 grep -Hin "joomla"
ou
find . –name "*.php" -exec grep -Hin "joomla" {} \;
E a ficheiros PHP alterados nas últimas 48 horas:
find . –name "*.php" -mtime -2 -exec grep -Hin --color=always "joomla" {} \;
Finalmente, vamos limitar o output aos ficheiros que incluem a string joomla, substituindo o grep -Hin com o grep -l:
find . –name "*.php" -print0 | xargs -0 grep -l "joomla"
ou
find . –name "*.php" -exec grep -l "joomla" {} \;
E se quisermos pesquisar em todos os ficheiros php e html?
find . \( -name "*.php" -o -name "*.html" \) -print0 | xargs -0 grep -Hin "joomla"
Se não quisermos usar o find para restringir a pesquisa a determinados tipo de ficheiros, a intervalos de data e tempo, a tamanhos de ficheiros, podemos usar apenas:
grep -Hirn --color=always joomla *
Autopsiando o grep -Hirn –color=always

-H imprime o nome dos ficheiros e respectivo caminho físico (no exempo supra, poderíamos prescindir o H - imprime por defeito)
-i pesquisa sem que seja CASE-SENSITIVE
-r faz uma pesquisa recursiva
-n imprime a linha no código onde se encontra a string pesquisada
--color=always usa cores no output de modo a tornar o output mais apresentável
Se quiser excluir uma diretoria da pesquisa:
--exclude-dir=dir

Usar O Comando find No Linux Com Base No Inode Do Ficheiro

Se estiver com problemas para apagar um ficheiro, dado que o nome do ficheiro é meio estranho, descubra o inode do ficheiro com o comando ls:
ls -il
e depois apague desta forma:
find -inum 117672808 -exec rm {} \;

Usar O Comando find No Linux Para Fintar O Error Argument List Too Long

Já tentou listar os ficheiros num diretório para retornar o erro:
bash: /bin/ls Argument list too long
Experimente:
find . -type f -print0 | xargs -0 ls -l
ou
find . -maxdepth 1 -print0 | xargs -0 ls -l
ou ainda
find . -maxdepth 1 -type f -exec ls -l {} \; | less
Já encontrou a partição /tmp quase cheia e precisou de apagar os ficheiros, mas deparou com o erro
bash: /bin/rm: Argument list too long
Tenha especial cuidado com qualquer comando que apague ficheiros…
Vamos apagar os ficheiros, mas sem apagar quaisquer pastas e respectivos ficheiros e vamos deixar os links simbólicos (noto que o find por defeito não segue os links simbólicos):
find . -maxdepth 1 -type f -exec rm -f {} \;
O comando deve ser executado dentro da pasta /tmp
alternativa:
find . -maxdepth 1 -type f -print0 | xargs rm -f
Vamos agora usar a opção -delete do find:
find /tmp -maxdepth 1 -type f -delete

Usar O Comando find No Linux Com Base Nas Permissões Dos Ficheiros

Vamos agora pesquisar ficheiros com permissões 777 dentro dessa instalação do Joomla:
find . -perm 0777 -type f -exec ls -l {} \;
pesquisar pastas com permissões 777:
find . -perm 0777 -type d -exec ls -l {} \;

Usar O Comando find No Linux Com Base No Tamanho Dos Ficheiros

Já tentou pesquisar os 10 maiores ficheiros dentro duma instalação Joomla ou até dentro duma partição?
find . -type f -exec ls -s {} \; | sort -n -r | head -10
Neste exemplo, a listagem por tamanho dado pelo comando ls -s é muito importante. Veja como é diferente do uso do comando ls noutros exemplos, onde usamos ls -l. Experimente os 2 comandos:
ls -l
ls -s
O comando para pesquisar os 10 ficheiros mais pequenos é exactamente igual, com a diferença da parte do comando que ordena os ficheiros:
sort -n -r
aqui a ordem é descendente.
Para pesquisar os 10 ficheiros mais pequenos, use:
sort -n
Portanto, o comando completo é:
find . -type f -exec ls -s {} \; | sort -n | head -10
E se precisarmos de pesquisar ficheiros maiores que 100 MB:
find . -size +100M -exec ls -s {} \;
Para pesquisar ficheiros vazios, podemos executar este comando:
find . -empty -exec ls -l {} \;

Usar O Comando find No Linux Com Base No Tipo De Ficheiros

Se quisermos pesquisar link simbólicos:
find . -type l -exec ls -l {} \;
Veja a diferença, se executar apenas:
find . -type l
Para pesquisarmos ficheiros escondidos:
find . -type f -name ".*"
Já experimentamos vários exemplos onde passamos ao comando find o tipo de ficheiro a pesquisar:

-type f (ficheiro)
-type l (link simbólico)
-type d (diretório)

Usar O Comando find No Linux Com Base Na Data E No Tempo Dos Ficheiros

Vamos agora pesquisar todos os ficheiros que foram acedidos nas últimas 24 horas:
find . -type f -atime -1 -exec ls -l {} \;
e todos os ficheiros que foram modificados nas últimas 24 horas:
find . -type f -mtime -1 -exec ls -l {} \;
Agora, em vez de nas últimas 24 horas, vamos pesqusiar os ficheiros que foram modificados ontem:
find . -type f -mtime -1 -daystart -exec ls -l {} \;
Ao adicionar a opção -daystart, contamos as 24 horas a contar do início do dia de ontem.
Hoje, é Terça. Imagine que queremos saber que ficheiros foram modificados durante o fim de semana:
find . -type f -mtime 2 -mtime -3 -daystart -exec ls -l {} \;
Vamos analisar as 3 opções de tempo:

-mtime = quando alteramos o conteúdo do ficheiro 
-ctime = quando o inode associado ao ficheiro foi alterado - alterado sempre que alteramos o conteúdo, mas também quando mudamos o dono, as perrmissões do ficheiro, quando movemos para outra pasta
-atime = quando o ficheiro foi lido pela última vezFonte:http://www.webmaster.pt/exemplos-comando-find-linux-14752.html