Como instalar MySQL 5.7 en CentOS 7.9

Aquí te enseñamos a instalar MySQL 5.7 en el sistema operativo Linux Centos 7.9

Este tutorial esta enfocado para instalar cualquier versión de MySQL 5.x sobre el sistema Centos 7.x o similares RHEL. A continuación debes seguir los siguientes pasos. Los comandos que debes copiar y pegar son los que empiezan por el simbolo # (gato, numeral, almohadilla, etc) pero NO debes copiar dicho símbolo.

1. Listar y borrar llaves(keys) con conflictos:

# rpm -qa gpg-pubkey*
# rpm -e --allmatches gpg-pubkey-5072e1f5-5301d466
# rpm -e --allmatches gpg-pubkey-f4a80eb5-53a7ff4b

2. Importar llave (key) faltante:

# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

3. Instalar MySQL Server:

# yum install mysql-community-server

4. Subir el servicio:

# systemctl start mysqld.service

5. Verificar la contraseña de root:

# grep 'password' /var/log/mysqld.log
A temporary password is generated for root@localhost: Lnl5u9hfKr*U

6. Asegurar la instalación de mysql:

# mysql_secure_installation
Nueva clave root: EstaEsTuNuevaClave

7. Reinciar el servicio:

# systemctl restart mysqld.service

Si llegaste hasta aquí y no se presentaron errores, ya tienes instalado MySQL en tu servidor Linux. Podrías ejecutar el comando “mysql -v” para verificar la versión instalada. A partir de aquí lo que se pretende es cambiar el directorio (datadir) por defecto a uno personalizado (/data_mysql) para mejorar la gestión y manejo de la data de la base de datos.

8. Verificar el directorio donde esta instalado mysql:

# mysql -u root -p
 show databases;
 use mysql;
 select @@datadir;
 +-----------------+
 | @@datadir       |
 +-----------------+
 | /var/lib/mysql/ |
 +-----------------+
 exit;

9. Paramos el servicio:

# systemctl stop mysqld

10. Copiamos los archivos del directorio original al nuevo:

# rsync -av /var/lib/mysql/. /data_mysql/.

11. Renombramos la carpeta original:

# mv /var/lib/mysql /var/lib/mysql.bak

12. Modificamos el archivo /etc/my.cnf:

# vim /etc/my.cnf
Comentamos las líneas con el símbolo numeral # luego editamos y quedaría así:
 #datadir=/var/lib/mysql
 datadir=/data_mysql
 #socket=/var/lib/mysql/mysql.sock
 socket=/data_mysql/mysql.sock

13. Modificamos la configuración del cliente de MySQL:

# vim /etc/my.cnf
Editamos lo siguiente, si no existe el texto lo añadimos al final y quedaría así:
 [client]
 port=3306
 socket=/data_mysql/mysql.sock

14. Verificamos el archivo del servicio de mysql:

# ls -l /usr/lib/systemd/system/mysqld.service

15. Modificamos el archivo del servicio de mysql:

# vim /usr/lib/systemd/system/mysqld.service
Editamos y quedaría así:
 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid --datadir=/data_mysql --socket=/data_mysql/mysql.sock $MYSQLD_OPTS

16. Reiniciamos el demonio:

# systemctl daemon-reload

17. Iniciamos el servicio de MySQL:

# systemctl start mysqld.service

18. Si existe error al subir el servicio de mysql, verificamos y bajamos firewall y selinux si es el caso:

# systemctl stop firewalld.service
# systemctl disable firewalld.service
# vim /etc/selinux/config
Editamos y reemplazamos el texto:
enforcing -> disabled

19. Reiniciamos el servicio de MySQL:

# systemctl restart mysqld

20. Damos permisos a usuarios. En este caso el usuario creado sería “userapp” y la clave “claveUsuarioUserApp”:

SELECT Host, User, plugin, authentication_string FROM user;
GRANT ALL PRIVILEGES on *.* to 'userapp'@'%' IDENTIFIED BY 'claveUsuarioUserApp';
FLUSH PRIVILEGES;

21. Enjoy : )


Espero te ayude esta información, nos vemos pronto!!