Смена пароля root в Mysql для FreeBSD. Как сменить пароль root в Mysql?
Большая просьба отписаться в комментах, работает этот метод ещё или нет. Спасибо.
- Смена пароля root, если пароль утерян или забыт:
1. Останавливаем сервер mysql:
# /usr/local/etc/rc.d/mysql-server stop
2. Запускаем mysql с опцией —skip-grant-tables:
# mysqld_safe —skip-grant-tables &
3. Коннектимся к mysql-серверу:
# mysql -u root
4. Теперь главное:
mysql> use mysql
mysql> update user set authentication_string=PASSWORD(‘my_password’) where user=’root’ and host=’localhost’;
// Или update user set password=PASSWORD(‘my_password’) where user=’root’ and host=’localhost’; для старых версий Mysql.
mysql> flush privileges;
mysql> quit
mysql> update user set authentication_string=PASSWORD(‘my_password’) where user=’root’ and host=’localhost’;
// Или update user set password=PASSWORD(‘my_password’) where user=’root’ and host=’localhost’; для старых версий Mysql.
mysql> flush privileges;
mysql> quit
5. Останавливаем mysql и запускаем снова:
# killall mysqld_safe
# /usr/local/etc/rc.d/mysql-server start
# /usr/local/etc/rc.d/mysql-server start
- После установки Mysql-сервера нужно задать пароль root. Как это сделать, описано ниже:
# mysqladmin -u root password ‘mypassword’
или
# mysql -u root
mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘newpassword’);
- Просто сменить пароль пользователя:
# mysqladmin -u root -poldpassword password ‘mypassword’
//oldpassword – старый пароль
//mypassword – новый пароль
//oldpassword – старый пароль
//mypassword – новый пароль
или
# mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD(‘mypassword’) WHERE User = ‘root’;
mysql> FLUSH PRIVILEGES;
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD(‘mypassword’) WHERE User = ‘root’;
mysql> FLUSH PRIVILEGES;
Большая просьба отписаться в комментах, работает этот метод ещё или нет. Спасибо.
После остановки сервера
# /usr/local/etc/rc.d/mysql-server stop
И выполнения
# mysqld_safe —skip-grant-tables &
имею:
# 131021 19:05:53 mysqld_safe Logging to ‘/usr/local/data/xxxxx.xxxxxxxxx.ru.err’.
131021 19:05:53 mysqld_safe Starting mysqld daemon with databases from /usr/local/data
131021 19:05:54 mysqld_safe mysqld from pid file /usr/local/data/xxxxx.xxxxxxxxx.ru.pid ended
В чем подвох? Заранее благодарен за ответ.
Как я понимаю mysql запускается и убивается сразу. А в логе нет ничего интересного? по адресу /usr/local/data/xxxxx.xxxxxxxxx.ru.err
Вот, что в логе (как мне кажется относящееся к проблеме):
131021 11:13:58 mysqld_safe mysqld from pid file /usr/local/data/xxxxx.xxxxxxxxx.ru.pid ended
131021 19:05:53 mysqld_safe Starting mysqld daemon with databases from /usr/local/data
131021 19:05:53 InnoDB: The InnoDB memory heap is disabled
mysql> use mysql; в конце надо убрать кавычки, иначе базу не виберет.
Должно быть:
mysql> use mysql
Mysql Server version: 5.7.21
Поле password теперь звучит как authentication_string
Поэтому меняем
update user set password=PASSWORD(‘my_password’) where user=’root’ and host=’localhost’;
на
update user set authentication_string=PASSWORD(‘my_password’) where user=’root’ and host=’localhost’;
Спасибо. исправил.