Diferencia entre revisiones de «Mysql 8»

De MediaWiki
Ir a la navegación Ir a la búsqueda
Línea 19: Línea 19:
 
* Instalamos el phpmyadmin
 
* Instalamos el phpmyadmin
 
:: sudo apt install 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
 
* 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.
 
: Si se continúa, parece que funciona, al aplicar los siguientes pasos.
 +
 +
<br />
 +
===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:
 
* 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:
Línea 35: Línea 42:
 
: Hay que editarlo y añadir una palabra o frase de 32 caracteres a la línea: $cfg['blowfish_secret'] = 'a>Ssasa0990.12wsxdefdswsa23ewq12';
 
: Hay que editarlo y añadir una palabra o frase de 32 caracteres a la línea: $cfg['blowfish_secret'] = 'a>Ssasa0990.12wsxdefdswsa23ewq12';
  
 +
 +
 +
<br />
 +
===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:
 
* Si aparece un error indicando que no puede escribir en el directorio /usr/share/phpmyadmin/tmp debemos:
Línea 42: Línea 53:
 
::: sudo chown -R www-data:www-data /usr/share/phpmyadmin/tmp
 
::: sudo chown -R www-data:www-data /usr/share/phpmyadmin/tmp
  
 +
 +
 +
<br />
 +
===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).
 
* Otro error que puede aparecer es el de que no está creada la base de datos phpmyadmin (debido al erro que apareció al principio).
Línea 49: Línea 64:
 
Image:Mysql8_phpmyadmin_3.jpg | Cuando termine ya tendremos la base de datos con el contenido necesario y no aparecerán más errores o avisos.
 
Image:Mysql8_phpmyadmin_3.jpg | Cuando termine ya tendremos la base de datos con el contenido necesario y no aparecerán más errores o avisos.
 
</gallery>
 
</gallery>
 +
 +
 +
<br />
 +
===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
 +
: <syntaxhighlight lang="java" enclose="div" highlight="" >
 +
$cfg['Servers'][$i]['host'] = '127.0.0.1';
 +
</syntaxhighlight>
 +
 +
<u>'''Nota:'''</u> 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:
 +
: <syntaxhighlight lang="java" enclose="div" highlight="12" >
 +
  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
 +
 +
</syntaxhighlight>
 +
 +
: Por lo tanto yo tengo que poner: $cfg['Servers'][$i]['host'] = '''db''';

Revisión del 10:29 20 ene 2021

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;