Sur cPanel lorsque je suis connecté en tant que root et que je tape "mysql" sans nom d'hôte et mot de passe, cela me donne un accès direct à l'utilisateur root mysql.
Je voudrais le faire pour l'un de mes serveurs non cpanel où l'utilisateur root linux obtient une connexion sans mot de passe à l'utilisateur root mysql de la même manière que sur cPanel.
Est-ce possible ?
/etc/my.cnf
lequel le serveur mysql utilise pour démarrer. Si vous mettez l'utilisateur root mysql dans/etc/my.cnf
N'IMPORTE QUI, vous pouvez utiliser le serveur mysql avec TOUS les privilèges sur CHAQUE base de données sans mot de passe. Iain pointe vers l'utilisateur du shell.my.cnf
dans la maison de la racine, ce qui est bien sûr correct.Pour mysql 5.7+, si vous définissez un mot de passe vide pour la configuration initiale, mysql sera automatiquement utilisé
auth_socket
comme stratégie. Une tentative de mise à jour du mot de passe sans modifier la stratégie n'aura aucun résultat. Vous pouvez toujours vous connecter sans utiliser de mot de passe si votre utilisateur l'estroot
.Solution Exécutez la commande suivante pour modifier la stratégie d'authentification et définir le mot de passe
référence: https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
la source
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
... BY "";
. Merci!Depuis MySQL 5.6.6, vous pouvez utiliser mysql_config_editor pour créer un fichier crypté qui vous connectera automatiquement:
mysql_config_editor set --login-path=client --host=localhost --user=root --password
Saisissez ensuite le mot de passe lorsque vous y êtes invité.
Remarque: si votre mot de passe contient '#' et éventuellement d'autres caractères, utilisez des guillemets simples lors de la saisie du mot de passe.
la source
Faire un fichier contenant uniquement le mot de passe root mysql et seul root peut lire.
Vous pouvez importer une base de données avec
ou connectez-vous à votre base de données et lancez des commandes mysql
la source
ps
(1)