mysql error: ERROR 1045 (28000): доступ запрещен для пользователя [дубликат]

Строка ошибки «Ссылка на объект, не установленная на экземпляр объекта.» указывает, что вы не назначили экземпляр объекта объектной ссылке, и все же вы получаете доступ к свойствам / методам этого объекта.

например: скажем, у вас есть класс под названием myClass и он содержит одно свойство prop1.

public Class myClass
{
   public int prop1 {get;set;}
}

Теперь вы получаете доступ к этому prop1 в каком-то другом классе, как показано ниже:

public class Demo
{
     public void testMethod()
     {
        myClass ref = null;
        ref.prop1 = 1;  //This line throws error
     }
}

выше строки выдает ошибку, потому что ссылка класса myClass объявлена, но не создана, или экземпляр объекта не назначается referecne этого класса.

Чтобы исправить это, вам нужно создать экземпляр (присвоить объект ссылке на этот класс).

public class Demo
{
     public void testMethod()
     {
        myClass ref = null;
        ref = new myClass();
        ref.prop1 = 1;  
     }
}
65
задан OMG Ponies 29 April 2011 в 05:48
поделиться

12 ответов

Вы можете сбросить свой пароль root . Имейте в виду, что не рекомендуется использовать root без пароля.

30
ответ дан Bozho 28 August 2018 в 13:39
поделиться
mysqladmin -u root -p password

введите свой current password

, затем

введите свой new password

-2
ответ дан 0bserver07 28 August 2018 в 13:39
поделиться

Если вы используете XAMPP, просто перейдите к C:\xampp\phpMyAdmin, а затем откройте config.inc.php найдите $cfg['Servers'][$i]['password'] = '' строку и поместите там свой пароль.

0
ответ дан Ajay Rawat 28 August 2018 в 13:39
поделиться

Для MySQL 5.7. Это следующие шаги:

Полностью остановить сервер MySQL. Это можно сделать, обратившись к окну «Службы» в Windows XP и Windows Server 2003, где вы можете остановить службу MySQL.

Откройте командную строку MS-DOS с помощью «cmd» внутри окна «Выполнить». Внутри него перейдите в свою папку bin bin, такую ​​как C: \ MySQL \ bin, используя команду cd.

Выполните следующую команду в командной строке: mysqld.exe -u root --skip-grant- таблицы

Оставьте текущую командную строку MS-DOS так, как она есть, и откройте новое окно командной строки MS-DOS.

Перейдите к папке bin bin, такой как C: \ MySQL \ bin с помощью команды cd.

Введите mysql и нажмите enter.

Теперь вы должны запустить командную строку MySQL. Тип использует mysql; так что мы переходим к базе данных «mysql».

Выполните следующую команду для обновления пароля:

обновить пользовательский набор authentication_string = пароль ('1111'), где user = 'root «;

2
ответ дан Khushi 28 August 2018 в 13:39
поделиться

для такого рода ошибок; вам просто нужно установить новый пароль для пользователя root как администратора. выполните следующие шаги:

[root ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)
  1. Остановите службу / демон mysql running
    [root ~]# service mysql stop   
    mysql stop/waiting
    
  2. Запустите mysql без каких-либо привилегий, используя следующую опцию; Эта опция используется для загрузки и не использует систему привилегий MySQL.
    [root ~]# mysqld_safe --skip-grant-tables &
    

В этот момент терминал, похоже, остановится. Пусть это будет и использовать новый терминал для следующих шагов.

  1. введите командную строку mysql
    [root ~]# mysql -u root
    mysql> 
    
  2. Исправьте настройку разрешения пользователя root;
    mysql> use mysql;
    Database changed
    mysql> select * from  user;
    Empty set (0.00 sec)
    mysql> truncate table user;
    Query OK, 0 rows affected (0.00 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    mysql> grant all privileges on *.* to root@localhost identified by 'YourNewPassword' with grant option;
    Query OK, 0 rows affected (0.01 sec)
    

* если вы не хотите никакого пароля или, скорее, пустой пароль

    mysql> grant all privileges on *.* to root@localhost identified by '' with grant option;
    Query OK, 0 rows affected (0.01 sec)*
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

Подтвердите результаты:

    mysql> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.00 sec)
  1. Выйдите из оболочки и перезапустите mysql в нормальном режиме.
    mysql> quit;
    [root ~]# kill -KILL [PID of mysqld_safe]
    [root ~]# kill -KILL [PID of mysqld]
    [root ~]# service mysql start
    
  2. Теперь вы можете успешно войти в систему как пользователь root с установленным вами паролем
     [root ~]# mysql -u root -pYourNewPassword 
     mysql> 
    
45
ответ дан Nabin 28 August 2018 в 13:39
поделиться

1) Вы можете установить пароль root, вызывая консоль MySQL. По умолчанию он находится в

C:\wamp\bin\mysql\mysql5.1.53\bin.

Получить в каталог и ввести MySQL. затем установите пароль следующим образом:

    > SET PASSWORD FOR root@localhost = PASSWORD('new-password');

2) Вы можете настроить приложение phpmyadmin для wamp для пользователя root, отредактировав

C:\wamp\apps\phpmyadmin3.3.9\config.inc.php 

. Он выглядит так:

        $cfg['Servers'][$i]['verbose'] = 'localhost';
        $cfg['Servers'][$i]['host'] = 'localhost';
        $cfg['Servers'][$i]['port'] = '';
        $cfg['Servers'][$i]['socket'] = '';
        $cfg['Servers'][$i]['connect_type'] = 'tcp';
        $cfg['Servers'][$i]['extension'] = 'mysqli';
        $cfg['Servers'][$i]['auth_type'] = 'config';
        $cfg['Servers'][$i]['user'] = 'root';
        $cfg['Servers'][$i]['password'] = 'YOURPASSWORD';
        $cfg['Servers'][$i]['AllowNoPassword'] = false;

Ошибка «Доступ запрещен для пользователя« root @ localhost »(с использованием пароля: нет)» будет разрешен, если вы установите $cfg['Servers'][$i]['AllowNoPassword'] на false

Примечание: phpmyadmin - это отдельный инструмент который поставляется с wamp. Он просто предоставляет интерфейс для MySQL. если вы измените пароль моего пароля sql, тогда вы должны изменить конфигурации phpmyadmin. Обычно phpmyadmin настроен на пользователя root.

14
ответ дан OlivierH 28 August 2018 в 13:39
поделиться

Несколько раз это происходит только из-за установки Wamp или изменения параметров пароля пользователя root. Можно использовать privilages -> root (user), а затем установить опцию пароля для NO, чтобы запускать вещи без какого-либо пароля или устанавливать пароль и использовать его в приложении.

0
ответ дан Pieter Goosen 28 August 2018 в 13:39
поделиться

В своем коде замените «root» своим именем и паролем вашего сервера на свой пароль сервера. Например, если у вас есть DB и ваши php-файлы на сервере http://www.example.com , то, очевидно, вам нужно будет войти на этот серверный сайт, используя ваше имя пользователя и пароль.

1
ответ дан Pir Fahim Shah 28 August 2018 в 13:39
поделиться

Я получал ту же ошибку в капитане OS X El. Mysql версия 5.7. После выполнения этих шагов я смог подключиться к mysql с помощью root.

Остановить сервер mysql

sudo mysql.server stop

Запустить mysql в безопасном режиме

sudo mysqld_safe --skip-grant-tables

Используя mysqld, измените базу данных на mysql и обновите данные для пользователя root.

show databases;
use mysql;
UPDATE mysql.user 
    SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N'
    WHERE User = 'root' AND Host = 'localhost';
exit;

После этого убейте процесс mysqld_safe и запустите mysql нормально. Вы должны иметь возможность входа в mysql с помощью пароля root и нового. Документация SQL для более подробной информации

8
ответ дан sharingan_debugger 28 August 2018 в 13:39
поделиться

Убедитесь, что служба MySQL запущена на вашем компьютере, а затем следуйте инструкциям из MySQL для первоначальной настройки root (найдите «окна», и вы перейдете к шагам настройки root):

http://dev.mysql.com/doc/refman/5.1/en/default-privileges.html

3
ответ дан sholsapp 28 August 2018 в 13:39
поделиться

Другое решение, если кто-то получает ошибку Указанный пароль для учетной записи пользователя «root» недействителен или не удалось подключиться к серверу базы данных также с правильным паролем, это следовать за

• В реестре Windows удалите ключ реестра mysql_pwd в разделе HKCU \ Software \ Microsoft \ WebPlatformInstaller

• Unistall более старая версия соединителя MySQL .NET

• Загрузите и установите последний MySql .NET Connector .

1
ответ дан Silverstorm 28 August 2018 в 13:39
поделиться

Просто отредактируйте файл my.ini в каталоге C: \ xampp \ mysql \ bin. Просто добавьте строку

skip-grant-tables

между строками # The MySQL server [mysqld] и port=3306. Затем перезапустите сервер MySQL.

Похож:

0
ответ дан Stephen Rauch 28 August 2018 в 13:39
поделиться
Другие вопросы по тегам:

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