Mysql 8
Sumario
Instalación
Mysql V8
- La forma más fácil es la de añadir el último repositorio de Mysql: https://dev.mysql.com/downloads/ (escoger la opción que ponga repository de vuestra distribución).
- Una vez instalado ya podemos escoger la versión de Mysql a instalar.
PhpMyAdmin
- Debemos de tener previamente instalado el servidor web apache:
- sudo apt-get update
- sudo apt-get install apache2
- sudo apt install php php-gettext libapache2-mod-php
- Instalamos el phpmyadmin
- sudo apt install phpmyadmin
- En el directorio de instalación del phpmyadmin (el directorio donde se descomprime el phpmyadmin) debemos de crear un archivo de configuración en base a uno que viene creado en la instalación: cp /directorio_phpmyadmin/config.sample.inc.php /directorio_phpmyadmin/config.inc.php
- Hay que editarlo (config.inc.php) y añadir una palabra o frase de 32 caracteres a la línea: $cfg['blowfish_secret'] = 'a>Ssasa0990.12wsxdefdswsa23ewq12';
- Al instalar PhpMyAdmin desde el repositorio puede que aparezca un mensaje de error de phpmyadmin: error 1064 (42000) during installation
- Si se continúa, parece que funciona, al aplicar los siguientes pasos.
ERROR: mysqli_real_connect(): The server requested authentication method unknown to the client
- Después de instalar el PhpMyadmin, al conectarnos vía web a la dirección: http://locahost/phpmyadmin pueden aparecer un conjunto de errores del tipo:
- mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
- Para solucionarlo, debemos descargar la última versión de PhpMyAdmin. Con la versión 5.0.1 ya se soluciona.
- Debemos:
- Ir al siguiente enlace: https://www.phpmyadmin.net/downloads/ y descargar la versión que queramos.
- Descomprimir el fichero tar y 'mover' la carpeta con el comando: sudo mv phpMyAdmin-version-all-languages /usr/share/phpmyadmin (borrar la anterior previamente)
- Después debemos de establecer el archivo de configuración: mv /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
- Hay que editarlo y añadir una palabra o frase de 32 caracteres a la línea: $cfg['blowfish_secret'] = 'a>Ssasa0990.12wsxdefdswsa23ewq12';
- Si aparece un error indicando que no puede escribir en el directorio /usr/share/phpmyadmin/tmp debemos:
- Crear dicho directorio sino existe: sudo mkdir /usr/share/phpmyadmin/tmp
- Dar permiso de escritura al usuario que emplea apache para conectarse al sitio web, que en mi caso es www-data:
- sudo chmod 755 /usr/share/phpmyadmin/tmp
- sudo chown -R www-data:www-data /usr/share/phpmyadmin/tmp
ERROR: phpmyadmin not created
- Otro error que puede aparecer es el de que no está creada la base de datos phpmyadmin (debido al erro que apareció al principio).
- Error falta base de datos phpmyadmin
ERROR: mysqli::real_connect(): (HY000/2002): No such file or directory
- Esto es debido a que en el archivo de configuración config.inc.php del sitio web phpmyadmin, el parámetro host tiene puesto 'localhost'.
- De esta forma no está empleando el protocolo TCP/IP.
- Debemos cambiar el valor por: 127.0.0.1
$cfg['Servers'][$i]['host'] = '127.0.0.1';
Nota: Se estáis empleando dockers y un archivo yml debéis de poner el nombre de la máquina donde se encuentra alojado el mysql.
- Por ejemplo, en mi caso, el archivo yml tiene el siguiente contenido:
phpmyadmin: image: phpmyadmin/phpmyadmin container_name: phpmyadmin restart: always expose: - 9080 ports: - 9080:80 depends_on: - db links: - db services: db: image: mysql:5.7 container_name: mysql57 environment: - MYSQL_ROOT_PASSWORD=rootdemysql restart: always expose: - 3306
- Por lo tanto yo tengo que poner: $cfg['Servers'][$i]['host'] = db;