Нет привилегий MySQL для любого пользователя

Я искал предыдущие посты уже несколько дней ... и кажется, что ни одно решение не работает, я рискую «дублировать пост» ...

ПРОБЛЕМА: PHPMYADMIN устанавливается без сбоев, но ни один из моих пользователей не имеет даже базовых разрешений (например, отбрасывать, создавать, предоставлять и т. д.). Поэтому я не могу создать свои базы данных для WordPress и Drupal на моем локальном сервере разработки.

базовая информация

Свежая установка Ubuntu 18.04

Linux rider1 5.3.0-53-generic #47~18.04.1-Ubuntu SMP Thu May 7 13:10:50 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Apache2

Server version: Apache/2.4.29 (Ubuntu)

MySQL 5.7

mysql  Ver 14.14 Distrib 5.7.30, for Linux (x86_64) using  EditLine wrapper

PHP 7

PHP 7.2.24-0ubuntu0.18.04.6 (cli) (built: May 26 2020 13:09:11) ( NTS )

ДЕТАЛИ ПРОБЛЕМЫ: У меня есть два пользователя mysql root и ] phpmyadmin , оба должны иметь привилегии «суперпользователя», но каждый раз, когда я пытаюсь предоставить привилегии и / или создать базу данных, используя любого пользователя через mysql, Я получаю следующие ошибки, соответственно:

GRANT PRIVILEGES: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

CREATE DATABASE:  ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'wp_db'

MYSTERY

Когда я вхожу в PHPMYADMIN через браузер, базы данных по умолчанию отсутствуют, они различны для каждого пользователя. Это то, что я вижу для моего пользователя root :

enter image description here

ПРИМЕЧАНИЕ: Нажатие Проверка привилегий приводит только к сообщению, подтверждающему отсутствие привилегий.

При входе в PHPMYADMIN как пользователь phpmyadmin , вот что я вижу: enter image description here

ПРИМЕЧАНИЕ: Снова, щелкнув по Проверка привилегий , выдается только сообщение о том, что у меня нет привилегий на базе данных.

Также внутри phpmyadmin у меня нет Пользователи или Привилегии , на которые можно щелкнуть, чтобы добавить пользователей и / или привилегии. ) Я пробовал все предложенные решения, перечисленные в ответ на аналогичный вопрос, найденный здесь . Включая запуск:

sudo systemctl stop mysql
sudo dpkg-reconfigure mysql-server-5.7
sudo systemctl start mysql

, который дал следующие результаты:

myuser@mymachine:~$ sudo dpkg-reconfigure mysql-server-5.7
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
Checking system database.
mysql.columns_priv                                 OK
mysql.db                                           OK
mysql.engine_cost                                  OK
mysql.event                                        OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.gtid_executed                                OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.innodb_index_stats                           OK
mysql.innodb_table_stats                           OK
mysql.ndb_binlog_index                             OK
mysql.plugin                                       OK
mysql.proc                                         OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.server_cost                                  OK
mysql.servers                                      OK
mysql.slave_master_info                            OK
mysql.slave_relay_log_info                         OK
mysql.slave_worker_info                            OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name                               OK
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
The sys schema is already up to date (version 1.5.2).
Checking databases.
phpmyadmin.pma__bookmark                           OK
phpmyadmin.pma__central_columns                    OK
phpmyadmin.pma__column_info                        OK
phpmyadmin.pma__designer_settings                  OK
phpmyadmin.pma__export_templates                   OK
phpmyadmin.pma__favorite                           OK
phpmyadmin.pma__history                            OK
phpmyadmin.pma__navigationhiding                   OK
phpmyadmin.pma__pdf_pages                          OK
phpmyadmin.pma__recent                             OK
phpmyadmin.pma__relation                           OK
phpmyadmin.pma__savedsearches                      OK
phpmyadmin.pma__table_coords                       OK
phpmyadmin.pma__table_info                         OK
phpmyadmin.pma__table_uiprefs                      OK
phpmyadmin.pma__tracking                           OK
phpmyadmin.pma__userconfig                         OK
phpmyadmin.pma__usergroups                         OK
phpmyadmin.pma__users                              OK
sys.sys_config                                     OK
Upgrade process completed successfully.
Checking if update is needed.

Я читаю другие вопросы / решения в течение 2 дней, и ни один из них не соответствует моей конфигурации LAMP / OS с mysql 5.7 и ubuntu 18.04, и подавляющее большинство предполагают, что привилегии работают пользователи.

У кого-нибудь есть идеи, как решить эту проблему?

thx

0
задан 7 June 2020 в 17:43

2 ответа

ПРИЧИНА ПРОБЛЕМЫ: Если вы пытаетесь установить myphpadmin, столкнуться с какими-либо проблемами, а затем решить полностью удалить phpmyadmin .... НЕ выбирайте «ДА», когда myphpmyadmin спрашивает, хотите ли вы удалить связанные БД, пользовательские привилегии и конфигурации. INSTEAD, выберите «НЕТ», затем деинсталляция завершена, запустите sudo apt-get autoremove , чтобы избавиться от установленных пакетов программного обеспечения дополнения.

ЕСЛИ ВЫ ВЫБИРАЕТЕ «ДА» (причина проблемы продолжение): Что происходит, так это то, что процесс удаления удаляет крайне важный каталог, необходимый для правильной работы mysql. А именно, / var / run / mysqld

Чтобы переустановить жизненно важный каталог, используйте следующую команду:

sudo mkdir -v / var / run / mysqld && sudo chown mysql / var / run / mysqld

После этой команды вы сможете восстановить свои привилегии пользователя root , используя следующие команды:

sudo mysqld --skip-grant-tables & , затем sudo mysql -u root mysql и GRANT ALL ON *. * TO 'user' @ 'localhost' с опцией GRANT; из приглашения mysql> .

НА ЭТОМ УКАЗАНИИ: Я решил полностью переустановить phpmyadmin, потому что, хотя у меня были восстановлены привилегии суперпользователя, некоторые из баз данных установки по умолчанию все еще отсутствовали. Однако на этот раз я выбрал «НЕТ», когда меня спросили, хочу ли я удалить базы данных по умолчанию, пользовательские привилегии и конфигурации. Затем я использовал sudo apt-get autoremove phpmyadmin && sudo apt-get purge phpmyadmin , чтобы избавиться от всех установленных дополнительных пакетов.

После запуска sudo apt install phpmyadmin php- mbstring php-gettext , sudo phpenmod mbstring ,

0
ответ дан 19 June 2020 в 21:29

Если вы пропустите привилегии даже по команде Линия входа, то это не проблема PhpMyAdmin. Пробовали ли вы решение ниже, найденное на https://stackoverflow.com/questions/1709078/how-can-i-restore-the-mysql-root-user-s-full-privileges

Стоп mysqld и перезапустите его с опцией - skip-grant-tables . Подключитесь к серверу mysqld с помощью просто: mysql (т. Е. Без опции -p , и имя пользователя может не потребоваться).

Введите следующие команды в клиент mysql:

UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';

FLUSH PRIVILEGES;

После этого вы сможете запустить GRANT ALL ON *. * TO 'root' @ 'localhost'; и заставить его работать.

-1
ответ дан 19 June 2020 в 21:29

Другие вопросы по тегам:

Похожие вопросы: