Как установить пароль root в null
как я могу изменить пароль для root
пользователь MySQL to null
-- означает отсутствие пароля или ''
-- из клиента командной строки MySQL?
16 ответов:
вы можете восстановить пароль сервера баз данных MySQL с помощью следующих пяти простых шагов.
Шаг # 1: остановите процесс сервера MySQL.
Шаг # 2: запустите процесс сервера/демона MySQL (mysqld) с параметром --skip-grant-tables, чтобы он не запрашивал пароль.
Шаг 3: подключение к серверу mysql в качестве пользователя root.
Шаг 4: Настройка нового корня mysql пароль учетной записи т. е. сбросить пароль 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: установите новый пароль пользователя MySQL 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 и не использовать хэш-функцию пароля, как таковую:
в командной строке:
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- войдите в систему как self и запустите mysql с помощью
mysql -u root -p
введите текущий пароль rootmysql> set password = password('');
готово! Не пароль root.
это работало для меня на 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';
(ТПХ @Станислав Караханов)
и самое последнее важное-это сбросить mysql service:
sudo service mysql restart
теперь вы должны быть в состоянии войти (без passsword) также с помощью MySQL Workbench.
ответ пользователя 64141
use mysql; update user set password=null where User='root'; flush privileges; quit;
не работал для меня в MariaDB 10.1.5 (предполагается, что это капля в замене для MySQL). Хотя я не тестировал его в MySQL 5.6, чтобы увидеть, является ли это восходящим изменением, ошибка, которую я получил, была:
ошибка 1048( 23000): столбец "пароль" не может быть null
но замена null пустыми одинарными или двойными кавычками работала нормально.
update user set password='' where User='root';
или
update user set password="" where User='root';
Это работает для меня.
ALTER USER 'root' @ 'localhost' идентифицируется с mysql_native_password по 'password'
Если вы знаете свой пароль Root и просто хотите его сбросить, выполните следующие действия:
запустите службу MySQL из панели управления > Администрирование > Службы. (только если это было остановлено вами раньше ! В противном случае, просто пропустите этот шаг)
Запустите MySQL Workbench
введите эту команду / SQL строку
срок действия пароля ALTER USER 'root'@'localhost' истекает;
сбросить все другой пароль пользователя... просто введите другое имя пользователя вместо root.
Я использую 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
хотел поставить свои собственные 2cents здесь bcuz вышеуказанные ответы не работали для меня. На centos 7, mysql community v8, оболочка-это bash.
правильные команды будут выглядеть следующим образом:
# start mysql without password checking systemctl stop mysqld 2>/dev/null systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" && systemctl start mysqld # set default password to nothing mysql -u root mysql <<- 'EOF' FLUSH PRIVILEGES; UNINSTALL COMPONENT 'file://component_validate_password'; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ''; FLUSH PRIVILEGES; INSTALL COMPONENT 'file://component_validate_password'; EOF # restart mysql normally systemctl restart mysqld
тогда вы можете войти без пароля:
mysql -u root