Администрирование
Восстановление забытого пароля для root'a
-
Остановите mysqld
sudo service mysql stop
-
Запустите mysqld с параметрами --skip-grant-tables --user=root:
sudo mysqld --skip-grant-tables --user=root
-
Подключитесь к MySQL-серверу командой:
mysql -u root
-
Обновите пароль для root'a:
UPDATE mysql.user SET Password=PASSWORD('<новый пароль>') WHERE User='root'; FLUSH PRIVILEGES;
Теперь можете войти под root с новым паролем.
как добавить/удалить пользователя в MySQL из консоли
Бывает, что удалённая/виртуальная машина установлена и необходимо создать пользователей/базы данных и раздать им права, а ставить phpmyadmin не хочется. Или просто блеснуть умением работать с пользователя mysql из консоли перед коллегами ;)
Для начала необходимо войти под суперпользователем:
mysql -u root -p
После ввода пароля мы окажемся в консоле mysql.
Создадим пользователя test с localhost и паролем 'password'.
create user 'test'@'localhost' identified by 'password';
Пользователь создан. Для проверки посмотрим список пользователей:
select user,host,password from mysql.user;
Создадим базу данных testdb.
create database testdb;
Дадим пользователю test полные права на базу testdb
grant all on testdb.* to 'test'@'localhost'
Удалим пользователя 'test'@'localhost'
drop user 'test'@'localhost'
Если вы создали пользователей для разных хостов и хотите всех удалить, то необходимо удалить их по одному через команду 'drop user' с указанием хоста
Внимание! Команда 'DROP USER' не закрывает автоматически все сессии открытые удаляемым пользователем. Если пользователь с открытой сессией был удалён, то удаление не будет иметь эффекта до закрытии сессии пользователем. После закрытия сессии следующая попытка входа в систему пользователем которого удалили не удастся.
Удаляем базу testdb
drop database testdb;
P.S. Не забываем после каждой команды ставить ;