Mysql 8

De MediaWiki
Ir a la navegación Ir a la búsqueda

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';



ERROR: No se puede escribir en /usr/share/phpmyadmin/tmp

  • 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: 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;