Tutorial - Como instalar o MySQL 8.0 no Fedora 30/29/28

(Última Atualização em 8 de maio de 2019)
Neste guia, abordaremos como instalar o MySQL 8.0 no Fedora 30 / Fedora 29/28 Server ou Workstation. Se você tem uma versão antiga do MySQL Server (por exemplo, 5.7), você pode precisar fazer uma atualização in-loco ou descarregar todos os dados, atualizar pacotes e reimportar todos os dados do banco de dados para o novo MySQL 8.0 instalado.

Etapa 1: Adicionar repositório da comunidade do MySQL 8.0
Para instalar o MySQL 8.0 no Fedora 30/29/28, você precisa adicionar o repositório da comunidade MySQL 8.0:

Adicionar repositório MySQL 8.0 ao Fedora 30

Execute os comandos.

sudo dnf -y install https://repo.mysql.com//mysql80-community-release-fc30-1.noarch.rpm

Adicionar repositório MySQL 8.0 ao Fedora 29

Execute o seguinte comando no seu terminal Fedora 29:

sudo dnf -y install https://repo.mysql.com//mysql80-community-release-fc29-2.noarch.rpm

Adicionar repositório do MySQL 8.0 ao Fedora 28

Se você está no Fedora 28, use:

sudo dnf -y install https://repo.mysql.com//mysql80-community-release-fc28-2.noarch.rpm

Isto irá escrever um arquivo de repositório para ** /etc/yum.repos.d/mysql-community.repo**.

Passo 2: Instale o MySQL Server 8.0 no Fedora 30/29/28

Depois de ter adicionado o repositório e confirmar a ativação, prossiga para instalar o MySQL 8.0 no Fedora 30/29/28 executando:

sudo dnf -y install mysql-community-server

Após a instalação, as informações do pacote podem ser vistas em:

$ dnf info mysql-community-server
Last metadata expiration check: 0:40:41 ago on Sun 04 Nov 2018 09:55:41 AM UTC.
Installed Packages
Name         : mysql-community-server
Version      : 8.0.13
Release      : 1.fc29
Arch         : x86_64
Size         : 1.8 G
Source       : mysql-community-8.0.13-1.fc29.src.rpm
Repo         : @System
From repo    : mysql80-community
Summary      : A very fast and reliable SQL database server
URL          : http://www.mysql.com/
License      : Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Under GPLv2 license as shown in the Description field.
Description  : The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
             : and robust SQL (Structured Query Language) database server. MySQL Server
             : is intended for mission-critical, heavy-load production systems as well
             : as for embedding into mass-deployed software. MySQL is a trademark of
             : Oracle and/or its affiliates
             : 
             : The MySQL software has Dual Licensing, which means you can use the MySQL
             : software free of charge under the GNU General Public License
             : (http://www.gnu.org/licenses/). You can also purchase commercial MySQL
             : licenses from Oracle and/or its affiliates if you do not wish to be bound by the terms of
             : the GPL. See the chapter "Licensing and Support" in the manual for
             : further info.
             : 
             : The MySQL web site (http://www.mysql.com/) provides the latest news and
             : information about the MySQL software.  Also please see the documentation
             : and the manual for more information.
             : 
             : This package includes the MySQL server binary as well as related utilities
             : to run and administer a MySQL server.

Etapa 3: Configure o servidor MySQL

Após a instalação do MySQL 8.0 no Fedora 29 / Fedora 28, você precisa fazer a configuração inicial para protegê-lo.

1.Iniciar e ativar o mysqld serviço:

sudo systemctl start mysqld.service
sudo systemctl enable mysqld.service
  1. Copie a senha aleatória gerada para o usuário root:
grep 'A temporary password' /var/log/mysqld.log |tail -1

Tome nota da senha impressa:

A temporary password is generated for root@localhost: 1ph/axo>vJe;
  1. Inicie o MySQL Secure Installation para alterar a senha do root. Desative o login root remotamente, remova usuários anônimos e remova o banco de dados de teste.
$ mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:

Autentique com sua senha temporária gerada. Em seguida, configure sua instalação do MySQL 8.0 como abaixo:

Change the password for root ? ((Press y|Y for Yes, any other key for No) : Yes

New password: 
Re-enter new password: 

Estimated strength of the password: 100 
Do you wish to continue with the password provided?: Yes

Remove anonymous users?: Yes
Success.

Disallow root login remotely? : Yes
Success.

Remove test database and access to it? : Yes
 - Dropping test database...
Success.
 - Removing privileges on test database...
Success.

Reload privilege tables now? (Press y|Y for Yes) : Yes
Success.

All done!
  1. Conecte-se ao banco de dados MySQL como usuário root e crie um banco de dados de teste.
$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 8.0.13 MySQL Community Server - GPL

Copyright (c) 2000, 2018, 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> SELECT version();
+-----------+
| version() |
+-----------+
| 8.0.13    |
+-----------+
1 row in set (0.00 sec)

Criar um banco de dados de teste e usuário:

mysql> CREATE DATABASE test_db;
Query OK, 1 row affected (0.09 sec)

mysql> CREATE USER 'test_user'@'localhost' IDENTIFIED BY "Strong34S;#";
Query OK, 0 rows affected (0.04 sec)

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

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.02 sec)

Esse banco de dados de teste e o usuário podem ser descartados executando:

mysql> DROP DATABASE test_db;
Query OK, 0 rows affected (0.14 sec)

mysql> DROP USER 'test_user'@'localhost';
Query OK, 0 rows affected (0.11 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

mysql> QUIT
Bye

Etapa 4: configurar o firewall

Para permitir conexões remotas, permita a porta 3306 no firewall

sudo firewall-cmd --add-service=mysql --permanent
sudo firewall-cmd --reload

Você também pode limitar o acesso de redes confiáveis:

sudo firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" \
service name="mysql" source address="10.1.1.0/24" accept'

Obrigado por instalar o MySQL 8.0 no Fedora 30/29/28 com o nosso guia. Até a próxima vez, fique ligado na comunidade Fedora.

Comentários

  • Galera se eu errar alguma coisa, por favor deixe no comentário, para concertar.