Ajout doc sur les spécificité de debian 11 pour l'user sql root et debian-sys-main
This commit is contained in:
parent
f0d6bc15f0
commit
5c0cc0bd34
|
@ -12,13 +12,13 @@ title: Howto MySQL : installation et utilisation courante.
|
|||
|
||||
## Installation
|
||||
|
||||
Sous Debian 9, nous installons MariaDB :
|
||||
Sous Debian 11, nous installons MariaDB :
|
||||
|
||||
~~~
|
||||
# apt install mariadb-server mariadb-client libconfig-inifiles-perl
|
||||
|
||||
$ mysql --version
|
||||
mysql Ver 15.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
|
||||
mysql Ver 15.1 Distrib 10.5.15-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper
|
||||
~~~
|
||||
|
||||
> *Note* : Sous Debian 8, nous installons la version libre de MySQL distribuée par Oracle :
|
||||
|
@ -39,53 +39,23 @@ mysql Ver 15.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu (x86_64) using rea
|
|||
> mysql Ver 15.1 Distrib 10.0.28-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
|
||||
> ~~~
|
||||
|
||||
L'installation sous Debian demande un mot de passe pour le superutilisateur (par défaut *root*) de MySQL.
|
||||
En laissant un mot de passe vide, on peut se connecter sans mot de passe :
|
||||
L'installation sous Debian 11 ne permet plus a l'utilisateur SQL root de se connecter avec un mot de passe, mais seulement via la socket
|
||||
|
||||
On mets donc en place le `.my.cnf` suivant dans /root/ :
|
||||
|
||||
~~~
|
||||
$ mysql -u root
|
||||
Welcome to the MariaDB monitor. Commands end with ; or \g.
|
||||
Your MariaDB connection id is 18348
|
||||
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
|
||||
|
||||
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
|
||||
|
||||
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
|
||||
|
||||
MariaDB [(none)]>
|
||||
[client]
|
||||
user = root
|
||||
socket = /run/mysqld/mysqld.sock
|
||||
~~~
|
||||
|
||||
Il faut ensuite mettre un mot de passe pour le superutilisateur de MySQL, on conseille d'utiliser l'identifiant *adminmysql* car *root* peut prêter à confusion :
|
||||
On peux créer un utilisateur adminmysql autre que root comme ceci :
|
||||
|
||||
~~~{ .sql }
|
||||
mysql> GRANT ALL PRIVILEGES ON *.* TO adminmysql@localhost IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
|
||||
mysql> DELETE FROM mysql.user where User='root';
|
||||
~~~
|
||||
|
||||
Au niveau sécurité, le mot de passe est généré à l'installation
|
||||
(stocké dans `/etc/mysql/debian.cnf` lisible que par *root*) par la commande :
|
||||
|
||||
~~~
|
||||
perl -e 'print map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..16)'
|
||||
~~~
|
||||
|
||||
Enfin, on peut utiliser un fichier `.my.cnf` pour conserver l'identifiant et le mot de passe.
|
||||
Par exemple pour *root*, dans `/root/.my.cnf` :
|
||||
|
||||
~~~{.ini}
|
||||
[client]
|
||||
user = adminmysql
|
||||
password = PASSWORD
|
||||
~~~
|
||||
|
||||
Pour changer le mot de passe, on fera simplement :
|
||||
|
||||
~~~
|
||||
# mysqladmin password PASSWORD
|
||||
~~~
|
||||
|
||||
On notera sous Debian la présence d'un utilisateur *debian-sys-maint* qui sert à certains scripts Debian :
|
||||
il ne doit pas être supprimé !
|
||||
En Debian 11, il n'y a plus d'utilisateur SQL `debian-sys-main`, le fichier `/etc/mysql/debian.cnf` est toujours créé mais est obsolète et ne doit plus être utilisé.
|
||||
|
||||
Sous Debian 8, avec MariaDB 10.0, l'utilisateur *debian-sys-maint* **n'a pas le privilège GRANT**. Il est donc impossible de créer d'autres utilisateurs en étant connecté avec ce compte.
|
||||
|
||||
|
|
Loading…
Reference in a new issue