/etc/rc.conf
mysql_args="--skip-grant-tables" |
Перезапускаем mysql
/usr/local/etc/rc.d/mysql-server restart |
Входим с правами root
mysql -u root |
Обнуление пароля
mysql> update user set authentication_string=PASSWORD('') where User='root'; |
Комментируем
/etc/rc.conf
mysql_args="" |
Перезапускаем mysql
/usr/local/etc/rc.d/mysql-server restart |
Входим еще раз
mysql -u root |
Обновляем пароль
mysql> ALTER USER USER() IDENTIFIED BY ''; |
Проверяем запущен ли сервер mysql
netstat -tap | grep mysql |
Останавливаем сервер mysql
sudo /etc/init.d/mysql stop |
Запускаем mysql в режиме без проверки паролей
sudo mysqld --skip-grant-tables --skip-networking & |
В другое консоли запускаем msyql клиент
mysql |
Обновляем пароль
mysql> update mysql.user set password = password('') where user = 'root'; mysql> flush privileges; |
для 5.7 и выше
UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N' WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES; |
Останавливаем сервер mysql
sudo mysqladmin shutdown |
Запускаем в нормально режиме работы
sudo start mysql |
подключаемся
mysql -u root -p |
Проверяем запущен ли сервер mysql
netstat -tap | grep mysql |
Останавливаем сервер mysql
/etc/init.d/mysql stop |
Запускаем mysql в режиме без проверки паролей
sudo -u mysql mysqld --skip-grant-tables --skip-networking & |
В другое консоли запускаем msyql клиент
mysql |
Обновляем пароль
mysql> update mysql.user set password = password('') where user = 'root'; mysql> flush privileges; |
Останавливаем сервер mysql
sudo mysqladmin shutdown |
Запускаем в нормально режиме работы
/etc/init.d/mysql start |
подключаемся
mysql -u root -p |
6.0
Останавливаем демон MySQL и запускаем его без чтения таблицы юзеров
/etc/init.d/mysqld stop /usr/libexec/mysqld --skip-grant-tables --user=root & |
Теперь, как нам стал доступен MySQL с полным доступом, сбрасываем пароль на единицу:
mysql -u root -e "UPDATE mysql.user SET Password=PASSWORD('1') WHERE User='root'; FLUSH PRIVILEGES;" |
После этого останавливаем пущенный нами инстанс MySQL и запускаем обычный сервер:
killall -9 -r mysqld /etc/init.d/mysqld start |
7.0/8.0
systemctl stop mysqld |
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" |
systemctl start mysqld |
mysql -u root |
mysql> UPDATE mysql.user SET authentication_string = PASSWORD('') WHERE User = 'root' AND Host = 'localhost'; mysql> FLUSH PRIVILEGES; mysql> quit |
systemctl stop mysqld |
systemctl unset-environment MYSQLD_OPTS |
systemctl start mysqld |
mysql -u root -p |
Запуск без паролей для Percona-Server
mysqld --initialize-insecure |
Остановить базу
/etc/init.d/mysql stop |
Запустить без привелений
mysqld_safe --skip-grant-tables & |
Теперь, когда стал доступен MySQL с полным доступом, сбрасываем пароль на единицу:
mysql -u root -e "UPDATE mysql.user SET Password=PASSWORD('1') WHERE User='root'; FLUSH PRIVILEGES;" |
Остановить mysql
/etc/init.d/mysql stop |
Запустить в нормальном режиме
/etc/init.d/mysql start |