Estou trabalhando em uma máquina EC2 (AWS) executando Amazon Linux 2023.4.20240319. Preciso instalar o apache, php e mysql. Eu fiquei com o mysql. Eu segui muitas instruções encontradas na internet:
- https://tecadmin.net/install-mysql-8-on-fedora/
- https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html
- https://stackoverflow.com/questions/70993613/unable-to-install-mysql-on-centos7/72469498#72469498
Mas há um último erro que não tem solução:
$ sudo yum --enablerepo=mysql80-community install mysql-community-server
MySQL 8.0 Community Server 37 B/s | 10 B 00:00
Errors during downloading metadata for repository 'mysql80-community':
- Status code: 404 for http://repo.mysql.com/yum/mysql-8.0-community/fc/2023.4.20240319/aarch64/repodata/repomd.xml (IP: 23.213.17.14)
Error: Failed to download metadata for repo 'mysql80-community': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
Ignoring repositories: mysql80-community
Last metadata expiration check: 0:14:52 ago on Wed Mar 27 14:50:32 2024.
No match for argument: mysql-community-server
Error: Unable to find a match: mysql-community-server
Desinstalei pacotes, limpei o cache e tentei novamente, mas o resultado foi o mesmo.
Como posso consertar isso, por favor?
Atualizar
mysql
não está disponível nos repositórios yum padrão
$ sudo dnf search mysql
Last metadata expiration check: 1:53:50 ago on Wed Mar 27 14:50:32 2024.
================================ Name & Summary Matched: mysql ================================apr-util-mysql.aarch64 : APR utility library MySQL DBD driver
bind-dlz-mysql.aarch64 : BIND server mysql and mysqldyn DLZ modules
collectd-mysql.aarch64 : MySQL plugin for collectd
dovecot-mysql.aarch64 : MySQL back end for dovecot
mysql-selinux.noarch : SELinux policy modules for MySQL and MariaDB packages
mysql80-community-release.noarch : MySQL repository configuration for yum
perl-DBD-MySQL.aarch64 : A MySQL interface for Perl
perl-DateTime-Format-MySQL.noarch : Parse and format MySQL dates and times
php8.1-mysqlnd.aarch64 : A module for PHP 8.1 applications that use MySQL databases
php8.2-mysqlnd.aarch64 : A module for PHP 8.2 applications that use MySQL databases
postfix-mysql.aarch64 : Postfix MySQL map support
=================================== Summary Matched: mysql ====================================mariadb105-devel.aarch64 : Files for development of MariaDB/MySQL applications
mariadb105-server-utils.aarch64 : Non-essential server utilities for MariaDB/MySQL applicationsperl-DBD-MariaDB.aarch64 : MariaDB and MySQL driver for the Perl5 Database Interface (DBI)
Você pensou que estava no Fedora, mas na verdade está no Amazon Linux 2023.
A maneira recomendada de obter um servidor MySQL é instalar o pacote MariaDB (veja esta outra resposta para uma discussão sobre MariaDB vs MySQL). Se você for usar isso apenas com PHP, seguir o caminho não suportado e adicionar um repositório de terceiros não é o que eu recomendaria.
Um simples
fornecerá a você um servidor MySQL, no qual todas as outras ferramentas mysql/mariadb no seu Amazon Linux serão construídas.
Você disse que este era um fedora normal, então um simples
instalaria um servidor MySQL. Feito!
(Você pode notar que o pacote que você está obtendo pode se chamar
mariadb
, mas isso não muda o fato de que você está obtendo o MySQL. Acontece que o software que agora é chamado de "MySQL" é um fork do MySQL original sob um licença diferente por razões comerciais da Oracle. "MariaDB" é um fork diferente do que é originalmente chamado de "MySQL", aquele que continua o desenvolvimento orientado à comunidade. Se você deseja uma configuração LAMP, geralmente deseja o MariaDB, não o novo MySQL , a menos que você tenha um contrato de serviço caro com a Oracle – mas você não viria aqui para obter conselhos de instalação, mas usaria o serviço deles, eu acho.)Acontece que você tem Amazon Linux, não Fedora. Tente instalar
dnf install mariadb
.Esta é uma descrição completa desta resposta .
Depois de logado (usando Putty ou Termius), executei estes comandos:
Neste momento recebi erros:
Resolvi com o comando:
Então
Fontes: