Доступ запрещен для пользователя 'root' @ 'localhost' в Laravel [дубликат]

Очистить и перестроить

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

В общем случае среда IDE или сборка будет включать в себя некоторую форму «чистой» функции, но это может быть неправильно настроено (например, в ручном файле) или может завершиться неудачей (например, промежуточные или результирующие двоичные файлы - только).

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

Этот процесс можно рассматривать как конечный вариант, но часто является хорошим первым шагом ; особенно если недавно был добавлен код, связанный с ошибкой (локально или из исходного репозитория).

36
задан Chase 31 July 2013 в 17:05
поделиться

13 ответов

Используйте инструкции по сбросу пароля root - но вместо сброса пароля root мы будем принудительно вставлять запись в таблицу mysql.user

In файл инициализации, используйте это вместо

INSERT INTO mysql.user (Host, User, Password) VALUES ('%', 'root', password('YOURPASSWORD'));
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;
22
ответ дан Andy Jones 26 August 2018 в 02:12
поделиться

Попробуйте выполнить следующие команды

~$ sudo /etc/init.d/mysql stop
~$ sudo mysqld_safe --skip-grant-tables &
~$ mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

mysql> use mysql;

mysql> update user set password=PASSWORD("root") where User='root';

mysql> flush privileges;

mysql> quit

~$ sudo /etc/init.d/mysql stop

Stopping MySQL database server: mysqld

STOPPING server from pid file /var/run/mysqld/mysqld.pid

mysqld_safe[6186]: ended

[1]+  Done                    mysqld_safe --skip-grant-tables

~$ sudo /etc/init.d/mysql start

~$ mysql -u root -p

* MySQL Community Server 5.6.35 is started
~$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.35 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, 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> 
13
ответ дан aashish 26 August 2018 в 02:12
поделиться

Я разрешил ту же проблему, используя следующий sql и перезапустив сервер MySQL:

update mysql.user set Select_priv='Y',Insert_priv='Y',Update_priv='Y',Delete_priv='Y',Create_priv='Y',Drop_priv='Y',Reload_priv='Y',Shutdown_priv='Y',Process_priv='Y',File_priv='Y',Grant_priv='Y',References_priv='Y',Index_priv='Y',Alter_priv='Y',Show_db_priv='Y',Super_priv='Y',Create_tmp_table_priv='Y',Lock_tables_priv='Y',Execute_priv='Y',Repl_slave_priv='Y',Repl_client_priv='Y',Create_view_priv='Y',Show_view_priv='Y',Create_routine_priv='Y',Alter_routine_priv='Y',Create_user_priv='Y',Event_priv='Y',Trigger_priv='Y',Create_tablespace_priv='Y'
where user='root';
0
ответ дан Alex Tsurika 26 August 2018 в 02:12
поделиться

для людей, которые сталкиваются с ошибкой в ​​mysql 5.7+ -

Access denied for user 'root'@'localhost' (using password: YES)
  1. Открыть новый терминал
  2. sudo /etc/init.d/mysql stop ... MySQL Community Server 5.7 .8-rc остановлен
  3. sudo mysqld_safe --skip-grant-tables &, это пропустит все привилегии уровня гранта и запустит mysql в безопасном режиме. Иногда процесс застрял только из-за

grep : write error: Broken pipe 180102 11:32:28 mysqld_safe Вход в '/var/log/mysql/error.log'.

Просто нажмите Ctrl + Z или Ctrl + C, чтобы прервать и завершить процесс

  1. mysql -u root

Добро пожаловать на монитор MySQL. Команды заканчиваются; или \ g. Ваш идентификатор соединения с MySQL - это 2 версии сервера: 5.7.8-rc Сервер сообщества MySQL (GPL)

Авторское право (c) 2000, 2015, Oracle и / или его дочерние компании. Все права защищены.

Oracle является зарегистрированным товарным знаком корпорации Oracle и / или ее аффилированных лиц. Другие названия могут быть товарными знаками соответствующих владельцев.

Введите «help»; или '\ h' для получения справки. Введите '\ c', чтобы очистить текущий оператор ввода.

  1. mysql> use mysql;

Чтение информации о таблице для заполнения имен таблиц и столбцов. Вы можете выключите эту функцию, чтобы получить более быстрый запуск с -A

Изменена база данных

  1. mysql> update user set authentication_string=password('password') where user='root'; Запрос OK, 4 строки затронуты, 1 предупреждение (0.03 сек) Строки совпадение: 4 Изменено: 4 Предупреждения: 1
  2. mysql> flush privileges; Query OK, 0 строк затронуты (0.00 sec)
  3. mysql> quit Bye
  4. sudo /etc/init.d/mysql stop

.. 180102 11:37:12 mysqld_safe mysqld из pid-файла /var/run/mysqld/mysqld.pid закончился. * Сервер MySQL Community Server 5.7.8-rc остановлен arif @ ubuntu: ~ $ sudo /etc/init.d/mysql start .. * Запущен сервер сообщества MySQL 5.7.8-rc

  1. mysql -u root -p Введите пароль: Добро пожаловать на монитор MySQL. Команды заканчиваются; или \ g. Ваш идентификатор соединения с MySQL - это 2 версии сервера: 5.7.8-rc Сервер сообщества MySQL (GPL)

после версии mysql 5.7+ пароль столбца заменен именем authentication_string из таблицы mysql.user.

надеюсь, что эти шаги помогут кому угодно, спасибо.

7
ответ дан ArifMustafa 26 August 2018 в 02:12
поделиться

Ну, самый простой способ сбросить пароль root:

  • перезапустить mysqld --skip-grant-tables. Это позволяет любому подключиться без пароля и со всеми привилегиями. Поскольку это небезопасно, вы можете использовать -skip-grant-tables в сочетании с -skip-networking для предотвращения подключения удаленных клиентов.
  • Подключиться к серверу mysqld с помощью этой команды:
  • shell> mysql Выполните следующие инструкции в mysql-клиенте. Замените пароль на пароль, который вы хотите использовать.
  • mysql> UPDATE mysql.user SET Password = PASSWORD ('MyNewPass') -> WHERE User = 'root'; mysql> FLUSH PRIVILEGES;
  • Остановите сервер, затем перезапустите его в обычном режиме (без -skip-grant-tables и -skip-networking options).

Документация Source Mysql и личный опыт:

http://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html

1
ответ дан avijendr 26 August 2018 в 02:12
поделиться

Я разрешил ту же проблему, запустив Workbench как администратор.

... Я предполагаю, что это из-за ограничений на компьютерах компании, в моем случае ...

0
ответ дан Igor Šćepanović 26 August 2018 в 02:12
поделиться

Я не думаю, что вам нужно избежать параметра --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

0
ответ дан Jordan 26 August 2018 в 02:12
поделиться

Мне не нравилась моя пользовательская привилегия, поэтому я СДЕЛАТЬ ее. (в bash & lt; sudo установлен пользователь и пароль) (это дает имя пользователя root и не устанавливает пароль ничем) (на Mac)

sudo mysql -uroot -p
20
ответ дан Pang 26 August 2018 в 02:12
поделиться

Простой способ сбросить пароль root в системах Linux:

sudo dpkg-reconfigure mysql-server-5.5

Проверить другие причины отказа в доступе:

https: //dev.mysql. ком / док / RefMan / 5,7 / о / проблемы-connecting.html

5
ответ дан Parth mehta 26 August 2018 в 02:12
поделиться

для вышеуказанной проблемы ur пароль в системе должен совпадать с паролем u, который прошел в программе, потому что, когда u запускает программу, он проверяет пароль системы, поскольку u дал root как пользователь, поэтому дает u ошибку и в то же время время записи не удаляется из базы данных.

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
class Delete
{
    public static void main(String []k)
    {
        String url="jdbc:mysql://localhost:3306/student";

        String user="root";
        String pass="jacob234";
        try
        {
            Connection myConnection=DriverManager.getConnection(url,user,pass);
            Statement myStatement=myConnection.createStatement();
            String deleteQuery="delete from students where id=2";
            myStatement.executeUpdate(deleteQuery);
            System.out.println("delete completed");
        }catch(Exception e){
            System.out.println(e.getMessage());
        }
    }
}

Сохранить пароль системы ur как jacob234, а затем запустить код.

1
ответ дан Saineshwar 26 August 2018 в 02:12
поделиться

Я столкнулся с этой проблемой при установке Testlink на сервере Ubuntu, я применил эти шаги

mysql -u root
use mysql;
update user set password=PASSWORD("root") where User='root';
flush privileges;
quit

Теперь остановите экземпляр и запустите снова i.e

sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
0
ответ дан Shridhar S Chini 26 August 2018 в 02:12
поделиться

Чтобы устранить эту проблему, выполните следующие шаги:

  1. Откройте команду терминала / командной строки и перейдите к папке bin в установочной папке MySQL. Затем запустите команду mysqld --console.
  2. Если вы видите, что для строки 171010 14:58:22 [Note] --secure-file-priv установлено значение NULL. Операции, связанные с импортом и экспортом данных, отключены после выполнения указанной команды из командной строки.
  3. Затем вам нужно проверить, что mysqld либо заблокирован брандмауэром Windows, либо другой программой.
  4. Если он заблокирован брандмауэром Windows, тогда необходимо разблокировать его и сохранить настройки .
  5. Чтобы разблокировать приложение mysqld или mysql, выполните следующие действия: Перейдите в командную строку и введите wf.msc, чтобы открыть настройки брандмауэра. Нажмите «Разрешить приложение или функцию через брандмауэр Windows». Проверьте наличие экземпляров mysqld или mysqld в списке и установите флажок для домена, общедоступный и закрытый, и сохраните настройки.
  6. Вернитесь в папку bin и снова попробуйте выполнить команду с шага 1.
  7. Он должен работать нормально и не показывать никаких ошибок.

It должно быть возможно запустить консоль MySQL без каких-либо проблем сейчас!

0
ответ дан Toastrackenigma 26 August 2018 в 02:12
поделиться

Я работал над Access Denied для «root» @ «localhost» пользователя (с использованием пароля: YES) в течение нескольких часов, я нашел следующее решение:

The answer to this problem was that in the my.cnf located within
/etc/mysql/my.cnf

the line was either 
bind-address = 127.0.0.1 
            (or)
bind-address = localhost
            (or)
bind-address = 0.0.0.0

I should prefer that 127.0.0.1

I should also prefer 0.0.0.0, it is more flexible 
because which will allow all connections
1
ответ дан Veera Prasad 26 August 2018 в 02:12
поделиться
Другие вопросы по тегам:

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