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;



ERROR: JavaScript en el desiñador de bases de datos

  • Para poder emplear el diseñador que viene con el phpmyadmin debemos de crear un conjunto de tablas en una base de datos, con un prefijo pma_???????
Primero debemos de editar el archivo de configuración de phpmyadmin: config.inc.php y descomentar todas as líneas:
$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = 'password_root';

/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
Ahora, al entrar en el phpmyadmin, si no la tenéis creada previamente, crear una base de datos de nombre phpmyadmin.
Al seleccionar dicha base de datos os debe salir en la parte superior un aviso de que es necesario crear las tablas. Al pulsar sobre el enlace se generan las tablas necesarias y ahora ya no debería aparecer el error de Javascript en el diseñador de cualquier base de datos y también podréis guardar diferentes páginas del deseñador.