Разрешить пользователю root в Linux доступ к mysql root без пароля

Разрешить пользователю root в Linux доступ к mysql root без пароля

Когда я вхожу в cPanel как пользователь root и ввожу «mysql» без имени хоста и пароля, я получаю прямой доступ к пользователю root в mysql.

Я хотел бы сделать это для одного из моих серверов, не использующих cPanel, где пользователь root в Linux получает возможность входа в систему root в MySQL без пароля, так же, как это происходит в cPanel.

Это возможно ?

решение1

Самый простой способ сделать это — использовать клиентский раздел файла ~/.my.cnf и добавить туда учетные данные.

[client]
user=root
password=somepassword
...

Хорошей идеей будет сделать этот файл доступным для чтения только пользователю root.

решение2

Для mysql 5.7+, если вы установите пустой пароль для начальной настройки, mysql будет автоматически использовать auth_socketв качестве стратегии. Попытка обновить пароль без изменения стратегии не даст результата. Вы всегда сможете войти без использования пароля, если ваш пользователь root.

Решение Выполните следующую команду, чтобы изменить стратегию аутентификации и установить пароль.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ''

ссылка:https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/

решение3

Начиная с версии MySQL 5.6.6, вы можете использовать mysql_config_editor для создания зашифрованного файла, который будет автоматически выполнять вход в систему:

mysql_config_editor set --login-path=client --host=localhost --user=root --password

Затем введите пароль, когда будет предложено.

Примечание: если в вашем пароле есть символ «#» и, возможно, другие символы, при вводе пароля используйте одинарные кавычки.

решение4

Создайте файл, содержащий только пароль root для MySQL, и только пользователь root сможет его прочитать.

# ls -l /root/.mysqlpw 
-rw------- 1 root root 7 2013-08-19 13:24 /root/.mysqlpw

Вы можете импортировать базу данных с помощью

# mysql -u root -p`cat /root/.mysqlpw ` yourdatabase < databasedump.sql

или подключитесь к своей базе данных и выполните команды mysql

# mysql -u root -p`cat /root/.mysqlpw ` yourdatabase
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 20460
Server version: 5.1.63-0ubuntu0.10.04.1 (Ubuntu)

Copyright (c) 2000, 2011, 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> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| yourdatabase       |
+--------------------+
3 rows in set (0.00 sec)

mysql> show tables;
...

Связанный контент