Я постоянно получаю эту ошибку.
Я использую mySQL Workbench, и из того, что я обнаружил, привилегии схемы root равны нулю. Никаких привилегий нет вообще.
У меня проблемы с платформами, на которых используется мой сервер, и это внезапная проблема.
root@127.0.0.1, по- видимому, имеет большой доступ, но я вошел в систему под этим именем, но в любом случае он просто назначается localhost - localhost не имеет привилегий.
Я сделал несколько вещей, например FLUSH HOSTS
, FLUSH PRIVILEGES
и т. Д., Но не нашел успеха ни в этом, ни в Интернете.
Как мне вернуть root права доступа? Я нахожу это разочаровывающим, потому что, когда я смотрю вокруг, люди ожидают, что у вас «есть доступ», но у меня нет доступа, поэтому я не могу войти в командную строку или что-то еще и GRANT
себе еще что-нибудь.
При запуске SHOW GRANTS FOR root
я получаю взамен:
Код ошибки: 1141. Такое разрешение не определено для пользователя root на хосте%
источник
SHOW GRANTS FOR root
запрос, опубликуйте результат в своем вопросе.Ответы:
Используйте инструкции по сбросу пароля root, но вместо сброса пароля root мы будем принудительно ВСТАВИТЬ запись в таблицу mysql.user
В файле инициализации используйте это вместо
источник
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\\mysql-init.txt
все там, где должно быть, и то, что у вас есть выше, я поместил в файл соответственно. У меня тоже остановили службу. Я просто получаю такой вывод: prntscr.com/1ilxau И все (плагины) выключено. Действительно сбивает с толку.ERROR 1054 (42S22): Unknown column 'Password' in 'field list'
ошибка. @AndyJonesЕсли у вас такая же проблема в MySql 5.7. +:
это потому, что MySql 5.7 по умолчанию позволяет подключаться к сокету, что означает, что вы просто подключаетесь с
sudo mysql
. Если вы запустите sql:тогда вы это увидите:
Чтобы разрешить соединение с root и паролем, обновите значения в таблице с помощью команды:
Затем снова запустите команду select, и вы увидите, что она изменилась:
И это все. Вы можете запустить этот процесс после запуска и выполнения
sudo mysql_secure_installation
команды.Для mariadb используйте
установить пароль. Подробнее на https://mariadb.com/kb/en/set-password/
источник
auth_socket
доmysql_native_password
решило мою проблему. Спасибо!mysql_secure_installation
. Большое спасибо за этот ответ.Мне не понравились мои привилегии пользователя, поэтому я СУДОМ. (в bash << sudo установить пользователя и пароль) (это дает имя пользователя root и ничего не устанавливает пароль) (на Mac)
источник
Попробуйте следующие команды
источник
sudo mysqld_safe
получил мне это/var/run/mysqld for UNIX socket file don't exists
, затем после,mkdir -p /var/run/mysqld
иsudo chown -R mysql:mysql /var/run/mysqld/
он сработал и запустил демон.для людей, которые сталкиваются с ошибкой ниже в версии mysql 5.7+ -
Открыть новый терминал
sudo /etc/init.d/mysql stop
... Сервер сообщества MySQL 5.7.8-rc остановленsudo mysqld_safe --skip-grant-tables &
это пропустит все привилегии уровня предоставления и запустит mysql в безопасном режиме. Иногда процесс зависал только из-заgrep: ошибка записи: сломанный канал 180102 11:32:28 mysqld_safe Запись в '/var/log/mysql/error.log'.
Просто нажмите Ctrl + Z или Ctrl + C, чтобы прервать процесс и выйти из него.
mysql -u root
Добро пожаловать в монитор MySQL. Команды заканчиваются на; или \ g. Ваш идентификатор подключения MySQL - 2 Версия сервера: 5.7.8-rc MySQL Community Server (GPL)
Авторское право (c) 2000, 2015, Oracle и / или ее дочерние компании. Все права защищены.
Oracle является зарегистрированным товарным знаком Oracle Corporation и / или ее дочерних компаний. Другие наименования могут быть торговыми марками их владельцев.
Введите "помощь"; или '\ h' для помощи. Введите '\ c', чтобы очистить текущий оператор ввода.
use mysql;
Чтение информации таблицы для завершения имен таблиц и столбцов. Вы можете отключить эту функцию, чтобы ускорить запуск, с помощью -A.
База данных изменена
mysql>
update user set authentication_string=password('password') where user='root';
Query OK, 4 строки затронуты, 1 предупреждение (0,03 сек) Сопоставлено строк: 4 Изменено: 4 Предупреждения: 1mysql>
flush privileges;
Запрос ОК, затронуты 0 строк (0,00 сек)mysql>
quit
Покаsudo /etc/init.d/mysql stop
..180102 11:37:12 mysqld_safe mysqld из файла pid /var/run/mysqld/mysqld.pid закончился. * Сервер сообщества MySQL 5.7.8-rc остановлен arif @ ubuntu: ~ $ sudo /etc/init.d/mysql start .. * Сервер сообщества MySQL 5.7.8-rc запущен
mysql -u root -p
Введите пароль:
Добро пожаловать в монитор MySQL. Команды заканчиваются на; или \ g. Ваш идентификатор подключения MySQL - 2 Версия сервера: 5.7.8-rc MySQL Community Server (GPL)
после версии mysql 5.7+ пароль столбца заменяется именем authentication_string из таблицы mysql.user.
надеюсь, что эти шаги помогут кому-нибудь, спасибо.
источник
Я использовал ubuntu 18 и просто установил MySQL (пароль: root) с помощью следующих команд.
Когда я попытался войти в систему с обычным пользователем ubuntu, у меня возникла эта проблема.
Но я смог войти в MySQL через суперпользователя. Используя следующие команды, я смог войти в систему через обычного пользователя.
Затем вы сможете войти в Mysql с обычной учетной записью.
источник
Простой способ сбросить пароль root в системах Linux:
Ознакомьтесь с некоторыми другими причинами отказа в доступе:
https://dev.mysql.com/doc/refman/5.7/en/problems-connecting.html
источник
Если вы получаете эту ошибку в Workbench, но можете войти в систему с терминала, выполните следующие действия.
Сначала просто войдите с вашим текущим паролем:
Затем измените свой пароль, потому что низкий уровень надежности пароля иногда дает ошибку.
Затем просто выйдите и снова войдите с новым паролем:
После успешного входа в систему введите команду:
Должно появиться сообщение вроде «База данных изменена», затем введите:
После этого типа:
Затем введите:
Затем просто выйдите:
Теперь попробуйте войти в систему с новым паролем на РАБОЧЕМ МЕСТЕ. Надеюсь, это сработает. Спасибо.
источник
Я столкнулся с этой проблемой при установке Testlink на сервере Ubuntu, я выполнил следующие шаги
Теперь остановите экземпляр и начните снова, т.е.
источник
Самый простой способ сбросить пароль root:
перезапустить mysqld - параметр -skip-grant-tables . Это позволяет любому подключиться без пароля и со всеми привилегиями. Поскольку это небезопасно, вы можете использовать --skip-grant-tables в сочетании с --skip-network для предотвращения подключения удаленных клиентов.
Подключитесь к серверу mysqld с помощью этой команды:
shell> mysql Выполните следующие операторы в клиенте mysql. Замените пароль тем паролем, который вы хотите использовать.
mysql> ОБНОВЛЕНИЕ mysql.user УСТАНОВИТЬ Пароль = ПАРОЛЬ ('MyNewPass') -> WHERE User = 'root'; mysql> ПРИВИЛЕГИИ ПРОМЫВКИ;
Остановите сервер, а затем перезапустите его в обычном режиме (без параметров --skip-grant-tables и --skip-network).
Исходная документация Mysql и личный опыт:
http://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html
источник
в mysql 5.7 поле пароля было заменено на authentication_string, поэтому вместо этого вы бы сделали что-то вроде этого
См. Эту ссылку В пользовательской БД MySQL нет столбцов паролей - Установка MySQL на OSX
источник
Я решил ту же проблему, запустив Workbench от имени администратора.
... Я думаю, это из-за ограничений на компьютеры компании, в моем случае ...
источник
Попробуйте следующие шаги, чтобы решить эту проблему:
mysqld --console
.171010 14:58:22 [Note] --secure-file-priv
установлена в NULL. Операции, связанные с импортом и экспортом данных, отключаются после выполнения указанной выше команды из командной строки.mysqld
файл заблокирован брандмауэром Windows или другой программой.mysqld
илиmysql
, выполните следующие действия:wf.msc
чтобы открыть настройки брандмауэра.mysqld
илиmysqld
доступны в списке, и установите флажок для домена, общедоступный и частный, и сохраните настройки.Теперь должно быть возможно запустить консоль MySQL без каких-либо проблем!
источник
Я решил ту же проблему, используя следующий sql и перезапустив сервер MySQL:
источник
Я работал над Access Denied for User 'root' @ 'localhost' (используя пароль: YES) в течение нескольких часов, я нашел следующее решение,
источник
Я не думаю, что вам нужно избегать
--init-file
параметра:"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\\mysql-init.txt
Должно быть:
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\mysql-init.txt
источник
для вышеуказанной проблемы пароль ur в системе должен совпадать с паролем, который вы передали в программе, потому что, когда вы запускаете программу, она проверяет системный пароль, поскольку вы предоставили root в качестве пользователя, поэтому выдает ошибку и в то же время запись не удаляется из базы данных.
Сохраните системный пароль ur как jacob234, а затем запустите код.
источник
У меня была та же проблема, но она была вызвана тем, что я использовал сервер mysql на 32-битной версии, а рабочая среда работала на 64-битной версии. сервер и рабочая среда должны иметь одинаковую версию.
xpress
источник
Для меня я использовал MYSQLWorkbench, а порт был 3306 MAMP с использованием 8889
источник
Я столкнулся с той же проблемой, когда пытался подключить базу данных Mysql с помощью приложения Laravel. Хочу порекомендовать, пожалуйста, проверьте пароль для пользователя. Пароль MySQL не должен содержать специальных символов, таких как # , & и т. Д.
источник