sql:mysql

Ceci est une ancienne révision du document !


MySQL

Les logs sont par défaut dans /var/log/mysql/.

Le fichier de configuration est par défaut /etc/mysql/my.cnf


Installer le paquet mysql-server. L'alternative semble maintenant être mariadb-server et mariadb-client. Si utilisation avec PHP, également le paquet php-mysql (valable également pour MariaDB).

Pour configurer la sécurité du serveur, notamment définir le mot de passe root, lancer la commande mysql_secure_installation.


Installer le paquet mysql-client. La commande est ensuite mysql.

Options:

  • -h: préciser l'adresse de l'hôte. Par défaut, essaie la socket locale.
  • -u <user>
  • -p: affichera un prompt pour saisir le mot de passe
  • –ssl utilise SSL
  • <database>

Exécuter des commandes depuis un fichier

mysql <database> < script.sql

Exécuter des commandes sans lancer la CLI

mysql <database> -e "SELECT * FROM table"

Lister les bases de données

SHOW DATABASES;

Sélectionner une base de données

USE <database>;

Lister les tables

SHOW TABLES;

Obtenir les informations sur le serveur

\s

Supprimer un utilisateur

Source

DROP USER 'jeffrey'@'localhost';

cp /etc/letsencrypt/live/mysite.com/{chain,cert}.pem /var/lib/mysql/
openssl rsa -in /etc/letsencrypt/live/mysite.com/privkey.pem -out /var/lib/mysql/privkey.pem
chmod 400 /var/lib/mysql/*.pem
chown mysql:mysql /var/lib/mysql/*.pem

Ajouter dans le fichier de configuration de MySQL:

/etc/mysql/my.cnf
ssl_ca=/var/lib/mysql/chain.pem
ssl_cert=/var/lib/mysql/cert.pem
ssl_key=/var/lib/mysql/privkey.pem

Redémarrer MySQL:

service mysql restart

Les erreurs concernant SSL sont rapportées dans le fichier /var/log/mysql/errors.log.

Pour s'assurer que SSL est bien configuré:

mysql --ssl

Puis demander:

SHOW STATUS LIKE 'Ssl_cipher';

La valeur ne doit pas être vide.


Connexion interdite avec root

Source

Si PhpMyAdmin refuse de se connecter avec l'utilisateur root:

Dans un shell MySQL, connecté en tant que root:

SELECT USER, Host, plugin FROM mysql.user;

Si cette commande renvoie autre chose que mysql_native_password, exécuter les commandes suivantes:

USE mysql;
UPDATE USER SET plugin='mysql_native_password' WHERE USER='root';
FLUSH PRIVILEGES;

Fonctionne avec MySQL 5.5. À voir si cela persiste avec les mises à jour.

La meilleure solution semble être la création d'un utilisateur dédié à PhpMyAdmin


Source

Télécharger le paquet de MySQL pour l'installation via APT: lien.

Installer le paquet avec dpkg.

apt update
apt install mysql-community-server

En root, en s'assurant que MySQL fonctionne, lancer la commande suivante:

mysql_upgrade -p
  • sql/mysql.1617548516.txt.gz
  • Dernière modification : 2021/04/04 17:01
  • de 127.0.0.1