|
Ajouté: 84a86
Modifié: 86c88
Modifié: 88,92c90,105
Démarrer avec MySQL?C'est pas mon truc. Alors je prends 2 ou 3 notes pour démarrer vite fait.
InstallerInstaller la base MySQL? (c'est souvent fait automatiquement, mais on peut le refaire si nécessaire) : prompt#mysql_install_db --user=mysql Implicitement, il y a création de 2 comptes root et de 2 comptes anonymes qui peuvent utiliser la base test. Ensuite mettre en place un mot de passe root avec une des deux commandes ci-dessous :
prompt#/usr/bin/mysqladmin -u root password 'new-password' prompt#/usr/bin/mysqladmin -u root -h zig.cetu.prv password 'new-password' Exe: grant privileges to cmic sur toute la base jardin de ce serveur :
mysql>grant all privileges on jardin.* to cmic@localhost identified by '<motdepasse>'; mysql>flush privileges;
Réference
mysql>show databases mysql>use database; mysql>select version(); mysql>show current_date; mysql>show tables; #==> table agents mysql>describe agents; #structure de la table agents mysql>tee /tmp/abc.txt ; #copie de la sortie mysql>source /home/moi/requete.sql; #exec. d'un requete
prompt#mysqladmin version #Verifier que le daemon MySqld? tourne et autre infos prompt#mysqladmin variables #Le contenu des variables
Changer le mot de passe root
mysqladmin -u root -p password 'azerty$1'; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password$1; FLUSH PRIVILEGES;
Mot de passse root perdu ?mot de passe perdu ou acces impossible sur la console avec le message suivant : ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
prompt#kill <pid de MySqld?> prompt#mysqld_safe --skip-grant-tables --skip-networking & prompt#mysql -uroot mysql mysql>update user set password=PASSWORD('azerty$1') where user="root" and host='localhost'; mysql>flush privileges; mysql>exit; prompt#mysqladmin shutdown prompt#/etc/init.d/mysql start On peut alors se logger root avec le mot de passe azerty$1. Dans le cas de MySQL? version 8 dans une jail FreeBSD?, ajouter "skip-grant-tables" dans la section [mysqld] de /usr/local/etc/mysql/my.cnf. cf https://stackoverflow.com/questions/41645309/mysql-error-access-denied-for-user-rootlocalhost
Autoriser l'utilisateur <user> de tous les clients à accéder à MySQL?.A travers le port 3306. Dangereux. Se servir de la ligne ci-dessous en restreignant à 1 user sur 1 host particulier.
mysql>select Host, User from mysql.user ; mysql>grant all privileges on *.* to '<user>'@'%' identified by '<motdepasse>' with grant option;
Autoriser l'utilisateur grigri a accéder la ligne de commande en localsuite à l'erreur :
root@zombie:/tmp# mysql --user=grigri --password=gris ma_base ERROR 1045 (28000): Access denied for user 'grigri'@'localhost' (using password: YES)
prompt#mysql -u root -p ... mysql>use mysql ; mysql>set password for 'grigri'@'localhost' = PASSWORD('gris') ;
Crer un utilisateur.. puis changer son mot de passe et voir la table mysql.user:
CREATE USER 'cmic1'@'localhost' IDENTIFIED BY 'Password$1'; #cmic1 ne pourra se connecter que sur le serveur local CREATE USER 'cmic2'@'%' IDENTIFIED BY 'Password$$2'; #cmic2 pourra se connecter sauf sur le le serveur local GRANT SELECT, INSERT, UPDATE ON database-name.* TO 'cmic2'@'%'; #grants for cmic2 FLUSH PRIVILEGES; Changer son mot de passe, 3 manières:
ALTER USER 'testuser'@'localhost' IDENTIFIED BY 'new-password'; SET PASSWORD for 'testuser'@'localhost' = 'new-password'; UPDATE user SET authentication_string = PASSWORD('new-password') WHERE user = 'testuser' AND host = 'localhost'; SET PASSWORD for 'testuser'@'localhost' = 'new-password'; FLUSH PRIVILEGES; Voir la table user (et notamment l'algorhytme de chiffrement par defaut qui est passé dans la version 8 de 'mysql_native_password' à 'caching_sha2_password')
SELECT user, authentication_string, plugin, host FROMmysql.user; -- Cmic -- Cmic
|