Я только что установил ubuntu 18.04 и установил на него LAMP, однако у меня возникли проблемы с использованием mysql без привилегий root. когда я пишу:
mysql -u root -p
и введите пароль, который я настроил, он выкидывает доступ запрещен. если только я напишу
sudo mysql -u root -p
и введите пароль, к которому я могу подключиться. Но я не хочу, чтобы sudo мешал подключению workbench к mysql, то же самое относится и к phpmyadmin. Есть подсказки, как это исправить?
@jww Я ценю вашу заботу и совет, однако проверка ссылки, которой вы поделились, чтобы задать вопрос по этому вопросу, попадает в категорию «программные инструменты, обычно используемые программистами»;






Я вчера тоже столкнулся с этой проблемой. Чтобы решить эту проблему, выполните следующие действия:
sudo mysql -u rootSELECT User,Host FROM mysql.user;DROP USER 'root'@'localhost';CREATE USER 'root'@'%' IDENTIFIED BY ''GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;ALTER USER 'root'@'%' IDENTIFIED BY 'yourpassword';Это оно! Теперь у вас должна быть возможность подключить MySQL.
Спасибо за помощь, хотя на третьем шаге это не сработало, но первый ответ у меня сработал.
Это должен быть только пользователь "-u root", которому требуется sudo. В любом случае рекомендуется не использовать root для большей части доступа, поэтому просто войдите в систему как root с помощью sudo и создайте нового пользователя:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';
Тогда вы сможете получить доступ к mysql -u newuser без sudo.
Я использую Ubuntu 18.04 с mysql версии 5.7 в рабочей среде, но решил это, выполнив следующие 10 шагов.
sudo mysql -u rootSELECT User,Host FROM mysql.user;DROP USER 'root'@'localhost';SET GLOBAL validate_password_length = 5;SET GLOBAL validate_password_number_count = 0;SET GLOBAL validate_password_mixed_case_count = 0;SET GLOBAL validate_password_special_char_count = 0;SET GLOBAL validate_password_policy = LOW;CREATE USER 'root'@'%' IDENTIFIED BY 'admin'GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;введите описание изображения здесь 1. ОБНОВЛЕНИЕ mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';
2. ПРИВИЛЕГИИ ФЛУША;
Stack Overflow - это сайт для вопросов по программированию и разработке. Этот вопрос кажется не по теме, потому что он не о программировании или разработке. См. О каких темах я могу спросить здесь в Справочном центре. Возможно, лучше спросить Обмен стеков Unix и Linux или Администраторы баз данных Stack Exchange.