{"id":620,"date":"2015-04-30T20:11:55","date_gmt":"2015-04-30T20:11:55","guid":{"rendered":"http:\/\/www.papimigas.com\/?p=620"},"modified":"2015-04-30T20:11:55","modified_gmt":"2015-04-30T20:11:55","slug":"mysql-na-cli","status":"publish","type":"post","link":"https:\/\/blog.papimigas.com\/index.php\/2015\/04\/30\/mysql-na-cli\/","title":{"rendered":"MySQL na CLI"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/www.mysql.com\/common\/logos\/logo-mysql-110x57.png\" alt=\"\" width=\"110\" height=\"57\" \/><br \/>\nMySQL \u00e9 um sistema de gest\u00e3o de base de dados, que usa a linguagem <a href=\"http:\/\/pt.wikipedia.org\/wiki\/SQL\" target=\"_blank\">SQL<\/a>. Parceiro insepar\u00e1vel de qualquer aplica\u00e7\u00e3o minimamente complexa executada a partir de um browser, \u00e9 bastante popular\u00a0 no conjunto <a href=\"http:\/\/pt.wikipedia.org\/wiki\/LAMP\" target=\"_blank\">LAMP<\/a>. H\u00e1 outros sistemas do g\u00e9nero como o <a href=\"http:\/\/pt.wikipedia.org\/wiki\/MariaDB\" target=\"_blank\">MariaDB<\/a> (fork do MySQL), <a title=\"PostgreSQL\" href=\"http:\/\/pt.wikipedia.org\/wiki\/PostgreSQL\" target=\"_blank\">PostgreSQL<\/a>, <a title=\"Microsoft SQL Server\" href=\"http:\/\/pt.wikipedia.org\/wiki\/Microsoft_SQL_Server\" target=\"_blank\">Microsoft SQL Server<\/a>, entre outros.<br \/>\nMuitas vezes encontro aplica\u00e7\u00f5es que usam um acesso ao MySQL com a password root para acesso a uma base de dados&#8230; Para al\u00e9m de inseguro e altamente perigoso, deixa-me de cabelos em p\u00e9 \ud83d\ude42<br \/>\nNo caso do Microsoft SQL Server, temos uma consola gr\u00e1fica toda bonita para criar e gerir bases de dados.<br \/>\nNo caso do MySQL ou instalamos o <a href=\"http:\/\/pt.wikipedia.org\/wiki\/PhpMyAdmin\" target=\"_blank\">phpMyAdmin<\/a> ou ent\u00e3o temos a linha de comandos&#8230;<br \/>\nQuando estamos a instalar uma qualquer aplica\u00e7\u00e3o que usa o sistema LAMP, tipo WordPress, Webmin, Owncloud, etc, temos de configurar uma base de dados. Para isso devemos criar uma s\u00f3 para o que estamos a instalar e com direitos limitados sobre o resto do sistema. Assim, mesmo que descubram os acessos n\u00e3o dever\u00e3o p\u00f4r em causa a seguran\u00e7a do resto do sistema. Como criar? Na consola come\u00e7amos por entrar na consola MySQL:<\/p>\n<p><em>mysql -u root -p<\/em><\/p>\n<p>Vai ser pedida a password de admin do MySQL (definida na instala\u00e7\u00e3o do MySQL)<br \/>\nV\u00e3o ficar na CLI do MySQL:<\/p>\n<p><em>mysql&gt;<\/em><\/p>\n<p>N\u00e3o esque\u00e7am que no fim de qualquer comando tem de terminar a linha com um <strong>ponto e virgula<\/strong>. No fim de cada linha cliquem no <em>Enter<\/em>.<br \/>\nVamos ent\u00e3o criar um utilizador local e definir a palavra-passe:<\/p>\n<p><em>mysql&gt; CREATE USER &#8216;<strong>utilizador<\/strong>&#8216;@&#8217;localhost&#8217; IDENTIFIED BY &#8216;<strong>123456789<\/strong>&#8216;;<\/em><\/p>\n<p>Alterem as palavras a <strong>bold<\/strong> para o que quiserem.<br \/>\nAgora vamos criar a base de dados:<\/p>\n<p>mysql&gt; CREATE DATABASE <strong>123_nome<\/strong>;<\/p>\n<p>Alterem a palavra a <strong>bold<\/strong> para o que quiserem.<br \/>\nEm seguida damos privil\u00e9gios totais de administra\u00e7\u00e3o desta nova base de dados para o novo utilizador:<\/p>\n<p><em>mysql&gt; GRANT ALL PRIVILEGES ON <strong>123_nome<\/strong>.* TO &#8216;<strong>utilizador<\/strong>&#8216;@&#8217;localhost&#8217;;<\/em><\/p>\n<p>Mais um <em>Enter<\/em> e temos a configura\u00e7\u00e3o feita! Falta ent\u00e3o aplicar o que fizemos:<\/p>\n<p><em>mysql&gt; FLUSH PRIVILEGES;<\/em><\/p>\n<p>E pronto, podemos usar este utilizador na nossa aplica\u00e7\u00e3o, sem p\u00f4r em causa a seguran\u00e7a de outras bases de dados.<br \/>\nPara sair da CLI do MySQL executem o comando:<\/p>\n<p><em>mysql&gt; quit<\/em><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MySQL \u00e9 um sistema de gest\u00e3o de base de dados, que usa a linguagem SQL. Parceiro insepar\u00e1vel de qualquer aplica\u00e7\u00e3o minimamente complexa executada a partir de um browser, \u00e9 bastante popular\u00a0 no conjunto LAMP. H\u00e1 outros sistemas do g\u00e9nero como o MariaDB (fork do MySQL), PostgreSQL, Microsoft SQL Server, entre outros. Muitas vezes encontro aplica\u00e7\u00f5es &hellip; <a href=\"https:\/\/blog.papimigas.com\/index.php\/2015\/04\/30\/mysql-na-cli\/\" class=\"more-link\">Continuar a ler<span class=\"screen-reader-text\"> &#8220;MySQL na CLI&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[34,94],"class_list":["post-620","post","type-post","status-publish","format-standard","hentry","category-linux","tag-cli","tag-mysql"],"_links":{"self":[{"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/posts\/620","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/comments?post=620"}],"version-history":[{"count":0,"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/posts\/620\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/media?parent=620"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/categories?post=620"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/tags?post=620"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}