Как установить пароль root для null

Как я могу изменить пароль для пользователя root для MySQL null – не означает пароль или '' -» из клиента командной строки MySQL?

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

    Шаг №1 : Остановите процесс сервера MySQL.

    Шаг №2 : Запустите процесс MySQL / mysqld server / daemon с параметром -skip-grant-tables, чтобы он не запрашивал пароль.

    Шаг №3 : Подключитесь к серверу mysql в качестве пользователя root.

    Шаг 4 : Установите новый пароль учетной записи mysql root, т.е. сбросьте пароль mysql.

    Шаг № 5 : Выйти и перезапустить сервер MySQL.

    Вот команды, которые вам нужно вводить для каждого шага (логин как пользователь root):

    Шаг №1 : Остановите службу mysql

     # /etc/init.d/mysql stop 

    Вывод:

     Stopping MySQL database server: mysqld. 

    Шаг №2 : Запустите сервер MySQL без пароля:

     # mysqld_safe --skip-grant-tables & 

    Вывод:

     [1] 5988 Starting mysqld daemon with databases from /var/lib/mysql mysqld_safe[6025]: started 

    Шаг 3 : Подключитесь к серверу mysql с помощью клиента mysql:

     # 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> 

    Шаг 4 : Установка нового пароля пользователя root root

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

    Шаг №5 : Остановите сервер MySQL:

     # /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 

    Шаг №6 : Запустите сервер MySQL и проверьте его.

     # /etc/init.d/mysql start # mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) # mysql -u root -p 

    Источник: http://www.cyberciti.biz/tips/recover-mysql-root-password.html

    Работал для меня и «5.7.11 MySQL Community Server»:

     use mysql; update user set authentication_string=password(''), plugin='mysql_native_password' where user='root'; 

    Мне пришлось изменить поле «плагин», потому что оно было установлено в «auth_socket».

    После этого я могу подключиться как mysql -u root без пароля.

    Если вам нужен пустой пароль, вы должны установить пароль в значение null и не использовать хеш-функцию Password, как таковой:

    В командной строке:

     sudo service mysql stop sudo mysqld_safe --skip-grant-tables --skip-networking & mysql -uroot 

    В MySQL:

     use mysql; update user set password=null where User='root'; flush privileges; quit; 
    • подключитесь к mysql как пользователь root (используйте один из двух следующих методов)
      • войдите в систему как пользователь root и запустите mysql с помощью mysql -p , введите текущий пароль root
      • login как self и запустите mysql с помощью mysql -u root -p , введите текущий пароль root
    • mysql> set password = password('');

    Готово! Нет пароля root.

     SET PASSWORD FOR 'root'@'localhost' = PASSWORD(''); 

    Это сработало для меня на Ubuntu 16.04 с v5.7.15 MySQL:

    Во-первых, убедитесь, что у вас установлен mysql-клиент ( sudo apt-get install mysql-client ).

    Открыть терминал и логин:

     mysql -uroot -p 

    (введите пароль)

    После этого:

     use mysql; update user set authentication_string=password(''), plugin='mysql_native_password' where user='root'; 

    (tnx @ Станислав Караханов)

    И самое главное – сбросить службу mysql :

     sudo service mysql restart 

    Теперь вы можете войти в систему (без пароля), используя MySQL Workbench.

    Не рекомендуется напрямую редактировать базу данных mysql .

    Я предпочитаю следующие шаги:

     mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY ''; mysql> flush privileges; 

    Для MySQL 8.0:

    SET PASSWORD FOR 'root'@'localhost' = '';

    Ответ пользователя64141

     use mysql; update user set password=null where User='root'; flush privileges; quit; 

    не работает для меня в MariaDB 10.1.5 (предполагается, что это замена для MySQL). Хотя он не тестировал его в MySQL 5.6, чтобы узнать, есть ли восходящее изменение, ошибка, которую я получил:

    ОШИБКА 1048 (23000): Столбец «Пароль» не может быть нулевым

    Но замена нуля пустыми одиночными или двойными кавычками работала нормально.

     update user set password='' where User='root'; 

    или

     update user set password="" where User='root'; 

    Меня устраивает.

    ALTER USER ‘root’ @ ‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’

    Если вы знаете свой пароль root и просто хотите его сбросить, выполните следующие действия:

    • Запустите службу MySQL из панели управления> «Администрирование»> «Службы». (только если он был остановлен вами раньше! В противном случае просто пропустите этот шаг)

    • Запустить MySQL Workbench

    • Введите эту команду / строку SQL

      ALTER USER ‘root’ @ ‘localhost’ PASSWORD EXPIRE;

    Чтобы сбросить любой другой пароль пользователя … просто введите другое имя пользователя вместо root.

    Для подключения к mysql без пароля:

    mysql -p SET PASSWORD = ""

    https://dev.mysql.com/doc/refman/5.7/en/set-password.html

    Я использую nodejs и windows 10. Для меня работала комбинация из двух ответов.

     mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY ''; mysql> flush privileges; 

    с последующим:

     restart; 

    Надеюсь, это поможет другим, у кого еще есть проблема с этим.

    Синтаксис немного отличается в зависимости от версии. Из документов здесь: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

    MySQL 5.7.6 и более поздние версии:

     ALTER USER 'root'@'localhost' IDENTIFIED BY ''; 

    MySQL 5.7.5 и ранее:

     SET PASSWORD FOR 'root'@'localhost' = PASSWORD(''); 

    Мой вариант для MySQL 5.7:

    Остановить службу mysql:

     $ sudo service mysql stop 

    Работа в безопасном режиме:

     $ sudo mysqld_safe --skip-grant-tables --skip-networking 

    (выше строки – вся команда)

    Откройте новое окно терминала:

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

    Запустите службу mysql:

     $ sudo service mysql start 
    Давайте будем гением компьютера.