curl -d @create_user.json -H"Content-Type: application/json" -H"Aplication/json" http://teste.com:8080/rest/testeOnde create_user.json e o arquivo local com o conteudo JSONPara fazer um GET faca:curl -v -X GET -H"Accept: application/json" http://teste:9080/rest/testeSem mais... Com a instalacao default do MySQL nao e possivel conectar remotamente no banco de dados. Pela configuracao default apenas localhost pode se conectar.Neste cenario, ao tentar conectar remotamente no banco ele retorna o seguinte erro:KHost '' is not allowed to connect to this MySQL serverConnectPara permitir outros hosts basta fazer o seguinte:1. Conectar no Banco# mysql -uroot -pmysql> grant all privileges on *.* to 'user'@'ip' identified by 'passwd';Onde:user: e o usuario que voce que usar.ip: a maquina remota que voce quer permitir.passwd: a senha do usuarioPor exemplo:mysql> grant all privileges on *.* to 'root'@'192.168.2.60' identified by 'teste';Para habilitar toda a rede classe C do exemplo basta usar o wildcard %(ex 192.168.2.%)O ultimo passo e fazer o flush da configuracao:mysql> flush privileges;ScreenShot da operacao[]'sLeonardo Hoje finalmente me deparei com uma feature cuja solucao direta era fazer um MERGE no MySQL.Para minha surpresa o MySQL nao suporte MERGE [1].Como assim ? Este comando existe desde 2008 no padrao SQL:2008 e ainda nao foi implementado.Enfim, e o custo de nao pagar por uma licenca.Pesquisando um pouco descobri outro comando para fazer o trabalho do MERGE.O ponto negativo e que terei que usar um comando especifico do MySQL.Depois se quiser trocar de banco de dados terei que reescrever todas as queries.Foda ne ? Posteriormente qual o custo disso ? Nao compensa pagar logo a licenca de um BD decente ?Pode ser que o custo de adaptacao posterior em termos de desenvolvimento, testes, homologacao seja muito mais caro que pagar a licenca do Oracle ou DB2.Enfim, uma coisa para se pensar...Mas voltando a solucao do problema.A primeira solucao com que me deparei foi o REPLACE [3].Mas lendo a documentacao me deparei com a seguinte frase.REPLACE works exactly like INSERT, except that if an old row in the table has the same value as a new row for aPRIMARY KEY or a UNIQUE index, the old row is deleted before the new row is inserted.Porque diabos ele faz um DELETE e depois um INSERT ao inves de fazer um simples UPDATE ?Alguem pode me explicar isso ?Isso inviabilizou o uso do REPLACE devido a restricoes de chaves estrangeiras que todos conhecem. Nao poderia apagar e escrever linhas referenciadas por outras tabelas.Pesquisando com mais cuidado achei o salvado da patria que e o INSERT ... ON DUPLICATE KEY UPDATE [4]Pois bem, ele resolve exatamente o que queria fazer com o MERGE.O unico problema e que isso e uma extensao do MySQL deixando a query fora do padrao.Para referencia segue um query com o KEY UPDATEINSERT INTO USERS ( id, name, location) VALUES ( 1, 'leonardo', 'mantena') ON DUPLICATE KEY UPDATE name = VALUES (name), location = VALUES (location)[1] http://en.wikipedia.org/wiki/Merge_(SQL)[3] http://dev.mysql.com/doc/refman/5.1/en/replace.html[4] http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html Usuarios Linux acostumados com o uso de certificados no formato PEM vao ter problemas ao utilizar o Putty no Windows.Este guia vai ensinar como fazer a conversao para o formato apropriado do Putty.Sei que a maioria nao usa chaves privadas, mas