Mostrando postagens com marcador mysql. Mostrar todas as postagens
Mostrando postagens com marcador mysql. Mostrar todas as postagens

segunda-feira, 18 de fevereiro de 2019

Creating and updating root password in Mysql


# Creating the first root password

If you have just installed mysql-server and have not set the root password, you will create the password like this:

$ sudo mysqladmin -uroot password 'password' 


# Updating the root password

For updating the root password, you can do like this:

$ sudo mysqladmin -u root -p'oldpassword' password 'newpassword'




quarta-feira, 11 de outubro de 2017

Mysql: errno 12

Message error: InnoDB: mmap(xxx bytes) failed; errno 12


To resolve the Mysql error 12, follow this steps:

$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
$ sudo mkswap /swapfile 
$ sudo swapon /swapfile

Add this line to /etc/fstab
/swapfile swap swap defaults 0 0

This last step is needed if you would like to automatically enable swap file after each reboot.

quarta-feira, 20 de julho de 2016

Criar usuário no MySql

Para criar um novo usuário no MySql proceda da seguinte forma:

- Faça o acesso a área do MySql.

$ mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 43
Server version: 5.5.49-0+deb8u1 (Debian)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

- Agora pelo shell do MySql vamos criar o novo usuário.

mysql> CREATE USER 'novousuario'@'localhost' IDENTIFIED BY 'pass';
Query OK, 0 rows affected (0.00 sec)

- Vamos dar permissão total ao novo usuário.

mysql> GRANT ALL PRIVILEGES ON * . * TO 'novousuario'@'localhost';
Query OK, 0 rows affected (0.00 sec)

- Pronto, agora é só carregar os privilégios do novo usuário.

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

Repita o processo para o mesmo usuário para caso ele precise acessar remotamente a base. Para isso use 'novousuario'@'%' no lugar de 'novousuario'@'localhost'.

quinta-feira, 3 de março de 2016

PHP + MySQL blob fields and UTF-8

I had problems with graphic accentuation using a blob field in MySQL. When I was a select, the accentuation was not recognized by PHP, but in the others fields, like VARCHAR, CHAR or TEXT were recognized.

The solution was use the PHP function utf8_encode.

 $query = mysql_query("SELECT blob_field FROM table");  
 $arr = mysql_fetch_array($query);  
 echo $arr['field'];  
 >> m�e  
 echo utf8_encode($arr['blob_field']);  
 >> mãe  


terça-feira, 22 de dezembro de 2015

Alterar senha de usuário no Mysql

Para alterar a senha de um usuário no MySQL é simples, veja:

mysql> SET PASSWORD FOR 'lucio'@'%' = PASSWORD('nova senha');

Nesse caso o campo User da tabela user é lucio, e o campo Host é %. Dê um SELECT na tabela User para confirmar tais valores.

Veja todos os comandos, desde o acesso à base:

$ mysql -ulucio -p
Enter password: 

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> select User, Host from user;
+------------------+-----------------+
| User             | Host            |
+------------------+-----------------+
| lucio            | %               |
| root             | 127.0.0.1       |
| root             | localhost       |
+------------------+-----------------+

mysql> SET PASSWORD FOR 'lucio'@'%' = PASSWORD('nova senha');
Query OK, 0 rows affected (0.03 sec));

sexta-feira, 4 de setembro de 2015

Problemas de acentuação no PHP, Mysql e/ou HMTL


Desenvolvendo para web, geralmente esbarramos com problemas de acentuação. A grande sacada é sempre usar a codificação UTF-8. Para isso, temos como configurar o uso desse charset no PHP, Mysql e HTML
Veja:

PHP

Quando queremos imprimir acentuações pelo PHP, configure com o comando abaixo, inserindo-o na primeira linha do seu fonte.

header('Content-Type: text/html; charset=utf-8');


Mysql

Se a acentuação vem do banco de dados, faça assim:

$conn = mysql_connect('host', 'user', 'password'); 
mysql_set_charset('utf8',$conn);


HTML

Já no HTML, proceda assim:

<html>
<head>
<title>Títuloda página</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
...
</head>
...
</html>



Se nada disso ainda não deu certo, veja qual a codificação que está sendo usada no seu arquivo, .php, .html, ou qualquer outro formato.
Pelo Linux é fácil de verificar e corrigir. Pelo terminal, caminhe até aonde está seus arquivos e proceda dessa forma:

$ file fonte.php
fonte.php: PHP script, ISO-8859 text, with CRLF line terminators

Veja que a codificação do fonte.php é ISO-8859. Vamos alterar para UTF-8.

$ iconv -f ISO-8859-1 -t utf-8 fonte.php > fonte_new.php
$ file fonte_new.php
impr_notif2_utf8.php: PHP script, UTF-8 Unicode text, with CRLF line terminators


--- Editado em 27 de Janeiro de 2016

Recentemente precisei recodificar muitos arquivos e precisava de um script para isso. Após algumas pesquisas descobri formas práticas de se fazer a recodificação em massa.

for file in *.php
do
    iconv -f cp1251 -t utf8 "$file.new" > "$file" &&
    mv -f "$file.new" "$file"
done
Veja que com esse script criamos um arquivo temporário e logo em seguida o renomeamos para o nome original.

for file in *.php
do
    iconv -f cp1251 -t utf8 "$file" | sponge "$file"
done
Ou em uma linha só:

for file in *.php; do iconv -f iso-8859-1 -t utf8 "$file" | sponge "$file"; done
Já com esse script, não houve a necessidade de criação de um arquivo temporário, pois usamos o comando sponge, que vem do pacote moreutils, podendo ser facilmente instalado a partir do comando:

$ sudo apt-get install moreutils
Feito isso, basta entrar com o seguinte comando para conferir as novas codificações dos arquivos:

$ file --mime *
Agora, facilitando ainda mais, podemos usar o comando recode, instalado a partir do comando:

$ sudo apt-get install recode
Em seguida, entre com o script:

for file in *.php
do
    recode iso-8859-1..utf8 "$file"
done
Ou em uma linha só:

$ for file in *.php; do recode iso-8859-1..utf8 "$file"; done

terça-feira, 1 de setembro de 2015

Comandos mysqldump e source


1.1 Exportando uma base de dados específica:


$ mysqldump -uUsuario -p -B nomeDaBase > /local/base.db

O parâmetro -B serve para que tenha a sintaxe create database no dump da base.
Não é necessário usar uma vez que você já tenha criado a base.

1.2 Importando a base de dados:

Entre no ambiente Mysql:

$ mysql -uUsuario -p

Depois de logado no Mysql, siga com o comando de importação:

mysql> source /local/base.db


2.1 Exportando todos os bancos da base:


$ mysqldump -uUsuario -p --all-databases > /local/bases.db

2.2 Importando as bases de dados:

Entre no ambiente Mysql:

$ mysql -uUsuario -p

Depois de logado no Mysql, siga com o comando de importação:

mysql> source /local/bases.db

sexta-feira, 8 de maio de 2015

Acesso remoto no MySql

Altere o arquivo de configuração do MySql

$ sudo vim /etc/mysql/my.cnf 

Mude a seguinte linha de

bind-address  =  127.0.0.1
 para

bind-address  =  0.0.0.0

Reinicie o serviço do MySql.

$ sudo service mysql restart

Acesse o MySQL com o usuário root

$ mysql -uroot -psenha

Execute a linha abaixo:

mysql> GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'senha' WITH GRANT OPTION;

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;

E por fim:

mysql> FLUSH PRIVILEGES;

Para testar a conexão:

$ mysql -uroot -psenha -hIP do servidor