Como revolver problemas de base de dados corrompida no MySQL/Maria DB

Olá pessoal.

fonte: https://mastigado.wordpress.com

Essa dica vai para as pessoas que trabalham com MySQL ou se assim posso dizer com o Maria DB que já tem seu lugar toda a vez que você pede para que o gerenciador de pacotes (apt) instale algo relacionado ao MySQL no Linux Debian.

Pois bem, utilizo um servidor Nginx junto do PHP e com o MySQL/Maria DB instalado e há alguns dias quando precisei fazer manutenção numa antiga base de dados instalada. Aos poucos notei que não conseguia ver os bancos listados via modo texto e que dentro da ferramenta PHPMyAdmin tinha dificuldade até para excluir chaves estrangeiras. Quando na surgiu a mensagem abaixo:


cannot load from mysql.proc. the table is probably corrupted

Procurei na net alguns comandos e listo aqui o que resolveu meu problema. Abra o terminal no Linux e execute a linha abaixo.


mysqlcheck --all-databases --check-upgrade --auto-repair

Em seguida execute (se estiver usando uma distro a partir do Debian 6):

 

/usr/bin/mysql_upgrade -uroot -p --force

Feito isso tente logar no PHPMyAdmin novamente e confira se tudo está ok.

fonte: https://mastigado.wordpress.com

fonte: https://www.myguysolutions.com/2013/10/30/how-to-resolve-mysql-error-code-1548-cannot-load-from-mysql-proc-the-table-is-probably-corrupted/

fonte: http://g2pc1.bu.edu/~qzpeng/manual/MySQL%20Commands.htm

fonte: https://mariadb.com/kb/en/library/show-databases/

Anúncios

Android Studio / Projeto Kotlin (Erros inesperados e indesejáveis)

Olá para todos.

https://mastigado.wordpress.com

Este post serve para quem constrói um projeto no Android Studio e depois de uma ou duas semanas (ou até mesmo alguns dias) quando tenta abrí-lo novamente são apresentadas inúmeras inconsistências de bibliotecas impedindo o funcionamento do aplicativo que foi escrito ou até mesmo a manutenção de seu código.

Esse post também serve de referência para que seja possível unificar com o tempo possíveis bugs e possíveis caminhos para tentar corrigir essas inconsistências visto que as soluções disponíveis não estão no site oficial do Android, tampouco do Android Studio e sim em fóruns espalhados pela internet e que grande parte destes erros inesperados estão em alguma situação relacionados com arquivo Gradle (lê-se Graidou).

A intenção desse post é ir somando outros erros que forem surgindo e suas possíveis resoluções.

Erro inesperado 1

Você baixa um projeto no Github ou está sem abrí-lo faz um tempo e quando o abre no Android Studio está tudo desconfigurado, não é permitdo fazer compilação, não são reconhecidas sintaxes óbvias e uma mensagem como a que está abaixo pode surgir em algum canto.


ERROR: The specified Gradle distribution 'https://services.gradle.org/distributions/gradle-x.xx.x-all.zip' does not appear to contain a Gradle distribution

Repare que coloquei umas letras x onde está identificada a versão porque podemos ter este erro em qualquer versão. Pois bem, nesse caso faça o seguinte:

– Feche o Android Studio

– Delete o diretório abaixo (pode fazer backup dele se estiver com medo)


C:\Users\.gradle\wrapper\dists\gradle-x.x.x-all

– Abra o Android Studio novamente e o deixe resincronizar seu projeto.

 

fonte: https://mastigado.wordpress.com

fonte: https://stackoverflow.com/questions/27589336/android-studio-update-errorcould-not-run-build-action-using-gradle-distributio

Acesso negado para usuário Linux ao MySQL (MariaDB) via linha de comando

Hello World!

Sabe quando você abre o PHPMyAdmin e tenta excluir umas colunas e tabelas mas seu banco está todo bichado? Pois bem a gente costuma recorrer ao modo texto pra resolver certos pepinos. Porém quando você tenta se logar no servidor de banco de dados dá de cara com a mensagem:


Access denied for user 'root'@'localhost' (using password: YES) linux

Ou se não consegue adicionar novos usuários pelo PHPMyAdmin pode ver isto:


You do not have privileges to manipulate with the users

O que você pode fazer pra resolver isso é editar o arquivo de configuração do MySQL.


nano /etc/mysql/my.cnf

E com o arquivo aberto localizar onde está a marcação [mysqld] e adicionar o código a seguir logo abaixo e salvar o arquivo.


skip-grant-tables

Logar no banco de dados.


mysql -u root -p

Executar o comando abaixo.


flush privileges;

Alterar o password para um novo password e executar uma das duas querys abaixo (ou as duas).


ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

ou


UPDATE mysql.user SET Password=PASSWORD('********') WHERE User='root';
flush privileges;

Editar novamente o arquivo de configuração do banco dados e remover a instrução skip-grant-tables inserida acima.


/etc/mysql/my.cnf

E reiniciar o banco dados.


/etc/init.d/mysql restart

E a partir daí tentar logar novamente.


mysql -u root -p

Outra opção (se o caso for mesmo com o MariaDB) você pode tentar fazer isso quando estiver logado:


use mysql;
update user set plugin='' where User='root';
flush priveleges;
exit

fonte: https://mastigado.wordpress.com
fonte:https://stackoverflow.com/questions/41645309/mysql-error-access-denied-for-user-rootlocalhost

Como resolver o erro 1698 de acesso negado no MySQL e MariaDB

Tentando deixar o Netbeans mais rápido ao iniciar

Olá meus caros!

Este post é pra aqueles caras que ainda usam Netbeans. Daí você ouve coisas do tipo: “alguém ainda usa NetBeans?”, “Netbeans não, tá doido!”, “Eu só usava esse troço na faculdade porque o professor mandava”, “VS Code é muito melhor”, “Nossa que atraso de vida!”, “O que é Netbeans?”.

Pois bem, deixe quem quiser reclamar de você sem se preocupar, pois até o escritor de Game of Thrones escreve suas coisas usando um editor do DOS e olha o tanto de dinheiro que ele ganha, então não se preocupe com isso, não será o uso de um PHP Storm que te deixará milionário.

Confesso que o Netbeans depois de ter sido doado pela Oracle para a Apache, mesmo perdendo uns 100 plugins de um só vez nesse escambo, ainda o utilizo porque o Xdebug remoto rola bem nele e muito melhor que no VS Code (minha opinião). Só que mesmo indo para a Apache essa IDE continua com a velha característica de lentidão (absurda) ao iniciar. E quando se tem muitos projetos então dá vontade de desistir de viver. Daí pesquisando na net encontrei uma solução que parece amenizar um pouco e outra que só parece dizer que faz alguma coisa, mas ainda assim deixarei aqui.

Tentativa de mitigar o desempenho ruim ao iniciar

Desabilite o auto scanning de códigos em Options > Miscellaneous > Files e desmarque aquele cara ali da imagem.

Tentativa pra tentar ser um pouco menos infeliz

Edite o arquivo de configuração do Netbeans contido em seu diretório.

<NETBEANS_DIR>\etc\netbeans.conf

Aumente a memória do Java colocando as opções descritas na linha especificada. No caso abaixo estão colocando mais 2GB só para o Java do Netbeans (diziam que isso funcionava no Tomcat onde eu trabalhava).


netbeans_default_options="-J-client -J-Xss2m -J-Xms2048m -J-Xmx2048m -J-XX:PermSize=32m ......

A 1ª dica parece ter ajudado mais que a 2ª, mas ficam aí todas elas. E não acredite em milagres.

fonte: https://mastigado.wordpress.com

fonte: https://stackoverflow.com/questions/18076705/netbeans-scanning-of-project-too-slow

fonte: https://stackoverflow.com/questions/28811246/netbeans-background-scanning-projects-takes-too-long/28918741

 

Instalando a VM Ware Tools no Linux

Olá caríssimos!

fonte: https://mastigado.wordpress.com

Hoje deixarei uma dica para quem precisa instalar a VM Ware Tools no Linux. Sim é preciso instalá-la para que se possa obter drivers atualizados e próprios para que seu sistema operacional rode melhor na VM.

Bem, não falarei muito. O básico que você tem que fazer é ainda no modo gráfico marcar alguma opção que esteja escrito algo como Instalar VM Ware Tools. Feito isso após iniciarmos sua VM poderemos instalar o VM Tools assim que o sistema operacional for iniciado. Não colocarei screenshoots porque a parte gráfica varia muito entre VM Player, VM Workstation e ESXI. Então segue abaixo o que deve ser feito no Linux logo em seguida.

Crie um diretório em /mnt/cdrom (se não existir)


mkdir /mnt/cdrom

Monte o cdrom virtual com o disco da VM Ware Tools que foi previamente carregado na inicialização do Linux.


mount /dev/cdrom /mnt/cdrom

Entre no diretório /tmp


cd /tmp

Descompacte o conteúdo do drive montado como no comando abaixo (informando a versão do arquivo onde existem as letras x).


tar zxf /mnt/cdrom/VMwareTools-5.0.0-<xxxx>.tar.gz

Entre no diretório da aplicação do VM Tools.


cd vmware-tools-distrib

Instale o aplicativo VM Tools.

 

./vmware-install.pl

Siga os passos que estão sendo pedidos na tela e no final desmonte a unidade de disco virtual.

 

umount /dev/cdrom

E é basicamente isso aí.

fonte: https://mastigado.wordpress.com

fonte: https://www.vmware.com/support/ws5/doc/ws_newguest_tools_linux.html

Checar se uma URL é válida em Kotlin

Caríssimos, essa é tão rápida que nem dá pra sentir.

Se retornar true a URL é válida, senão não é.


Patterns.WEB_URL.matcher(potentialUrl).matches()

 

fonte: https://stackoverflow.com/questions/5617749/how-to-validate-a-url-website-name-in-edittext-in-android/775429

 

Converter Data em formato Epoch para Datetime no C Sharp

Olá Caríssimos!

fonte: https://mastigado.wordpress.com

Este post na verdade é um reblog. Sabe quando trabalhamos com JSON e o formato de data vem em milisegundos? Pois bem, o processo prático disso para convertermos em Datetime são basicamente três ações:

  • Capturar a string JSON e convertê-la para uma variável do tipo primitivo long;
  • Instanciar um objeto Datetime num formato equivalente do UNIX Epoch;
  • Converter o valor armazenado na variável de tipo long para Datetime utilizando a data que acabamos de instanciar.

Vamos lá?


string dataoriginal = stringComDataEmFormatoJSON;
long dataEmFormatoLong = Convert.ToInt64(dataoriginal);
System.DateTime data = new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
data = data.AddMilliseconds(datalong).ToLocalTime();

fonte: https://mastigado.wordpress.com
fonte: https://social.technet.microsoft.com/wiki/contents/articles/22173.convert-datetime-received-in-json-to-a-net-datetime.aspx

%d blogueiros gostam disto: