Installer MySQL Installer MySQL sous Unix / Linux Résolution des dépendances MySQL dépend de la bibliothèque libaio. L'initialisation du répertoire de données et les étapes de démarrage du serveur suivantes échoueront si cette bibliothèque n'est pas installée localement. pilou@lubuntu:~$ sudo apt-get install libaio1 [sudo] password for pilou: Reading package lists... Done Building dependency tree Reading state information... Done libaio1 is already the newest version (0.3.111-1). libaio1 set to manually installed. 0 upgraded, 0 newly installed, 0 to remove and 68 not upgraded. Télechargement de decompression de l'archive Pour installer une distribution binaire de fichier tar compressée, décompressez-la à l'emplacement d'installation de votre choix. pilou@lubuntu:~$ mkdir mysql80 pilou@lubuntu:~$ cd mysql80 pilou@lubuntu:~/mysql80$ wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar --2018-12-30 18:10:42-- https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar Resolving dev.mysql.com (dev.mysql.com)... 137.254.60.11 Connecting to dev.mysql.com (dev.mysql.com)|137.254.60.11|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar [following] --2018-12-30 18:10:48-- https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar Resolving cdn.mysql.com (cdn.mysql.com)... 23.210.41.222 Connecting to cdn.mysql.com (cdn.mysql.com)|23.210.41.222|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 472883200 (451M) [application/x-tar] Saving to: ‘mysql-8.0.13-linux-glibc2.12-x86_64.tar’ mysql-8.0.13-linux-glib 100%[===============================>] 450,98M 6,86MB/s in 72s 2018-12-30 18:12:01 (6,22 MB/s) - ‘mysql-8.0.13-linux-glibc2.12-x86_64.tar’ saved [472883200/472883200] pilou@lubuntu:~/mysql80$ ls mysql-8.0.13-linux-glibc2.12-x86_64.tar L'archive contient le serveur MySQL, l'outil MySQL Router ainsi qu'un banc de test pour MySQL. pilou@lubuntu:~/mysql80$ tar xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz mysql-router-8.0.13-linux-glibc2.12-x86_64.tar.xz mysql-test-8.0.13-linux-glibc2.12-x86_64.tar.xz pilou@lubuntu:~/mysql80$ tar xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz pilou@lubuntu:~/mysql80$ ls mysql-8.0.13-linux-glibc2.12-x86_64 bin include LICENSE man README.router support-files docs lib LICENSE.router README share L'archive une fois decompresser contient: bin binaire mysqld, et outils client docs Documentation man Documentation include fichier de developpement lib fichier de developpement share Fichiers partagé par les bases MySQL support-files fichier support NB: A ce niveau il n'y a pas de repertoire data qui a été crée. Sous ubuntu, faire cd /usr/lib/x86_64-linux-gnu sudo ln -s libtinfo.so.6 libtinfo.so.5 Le répertoire bin contient: pilou@pilou-pc:~/Formation/mysql-8.0.20-linux-glibc2.12-x86_64$ ls bin docs include lib LICENSE man README share support-files Initialisation de mysql L'initialisation de MySQL permet de créer le repertoire data et de créer un utilisateur root pilou@pilou-pc:~/Formation/mysql-8.0.20-linux-glibc2.12-x86_64$ ./bin/mysqld --defaults-file=simplemy.ini --console --initialize pilou@pilou-pc:~/Formation/mysql-8.0.20-linux-glibc2.12-x86_64$ ./bin/mysqld --defaults-file=simplemy.ini --console Le fichier ini étant: [mysqld] basedir=/home/pilou/Formation/mysql-8.0.20-linux-glibc2.12-x86_64 datadir=/home/pilou/Formation/simpleinit/data log-error=/home/pilou/Formation/simpleinit/mysqld.log Dans le fichier de log on retrouve le mot de passe de l'administrateur: 2020-05-11T21:03:21.864864Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. 2020-05-11T21:03:23.439599Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: e;ActH??b0Es 2020-05-11T21:03:33.232344Z 0 [System] [MY-010116] [Server] /home/pilou/Formation/mysql-8.0.20-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.20) starting as process 13368 Test de MySQL pilou@lubuntu:~$ mysql -S /tmp/mysql.sock -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 Server version: 8.0.13 Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> Post Installation La première chose a faire est de changer le password du root en utilisant l'outil mysql mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'piloupilou'; Query OK, 0 rows affected (0.04 sec) mysql> quit Pour arreter le serveur, l'outil cli mysqladmin permet de demander l'arret du serveur /bin/mysqladmin -h localhost -u root -p shutdown Coté serveur cela donne 2018-12-31T17:01:56.370223Z 15 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Création d'un fichier ini de base Sur le serveur, dans le repertoire de mysql, on va créer un fichier my.cnf minimaliste afin de setter quelques variable [mysqld] port = 3306 socket = /tmp/mysql.sock skip-external-locking key_buffer_size = 16K max_allowed_packet = 1M table_open_cache = 4 sort_buffer_size = 64K read_buffer_size = 256K read_rnd_buffer_size = 256K net_buffer_length = 2K thread_stack = 128K