mysql> FLUSH PRIVILEGES;
Отказавшись от указания компьютера, вы обеспечите удаление всех записей, относящихся к пользователю MySQL, в данном случае rick, которого хотите удалить. После этого убедитесь в том, что вы вернулись в вашу базу данных (с помощью команды use
), иначе вы можете случайно продолжить работу с собственной внутренней базой данных MySQL.
Имейте в виду, что команда delete
не относится к группе команд grant
и revoke
. Синтаксис SQL делает ее применение необходимым из-за способа обработки прав доступа в MySQL. Вы напрямую обновляете таблицы прав доступа MySQL (поэтому первой применяется команда use mysql
) для внесения нужных вам изменений эффективным способом.
После обновления таблиц, как показано в примерах, вы должны применить команду FLUSH PRIVILEGES
, чтобы сообщить серверу MySQL о необходимости перезагрузки таблиц с правами доступа.
Пароли
Если вы хотите задать пароли для уже существующих пользователей, не имевших их до сих пор, или изменить собственный или чей-то пароль, следует подключиться к серверу MySQL как пользователь root и напрямую обновить данные пользователя. Например,
mysql> use mysql
mysql> SELECT host, user, password FROM user;
Вы должны получить перечень, похожий на следующий:
+-----------+------+------------------+
| host | user | password |
+-----------+------+------------------+
| localhost | root | 67457e226a1a15bd |
| localhost | foo | |
+-----------+------+------------------+
2 rows in set (0.00 sec)
Если вы хотите присвоить пароль bar пользователю foo, можно сделать следующее:
mysql> UPDATE user SET password = password('bar') WHERE user = 'foo';
Для проверки выведите снова соответствующие столбцы таблицы пользователей user
:
mysql> SELECT host, user, password FROM user;
+-----------+------+------------------+
| host | user | password |
+-----------+------+------------------+
| localhost | root | 65457e236glalwbq |
| localhost | foo | 7c9e0a41222752fa |
+-----------+------+------------------+
2 rows in set (0.00 sec) mysql>
Теперь наверняка у пользователя foo есть пароль. Не забудьте вернуться в свою исходную базу данных.
Начиная с версии MySQL 4.1, схема формирования паролей обновлена по сравнению с более ранними версиями. Но для обратной совместимости вы все еще можете задавать пароль, применяя старый алгоритм с функцией OLD_PASSWORD('password to set')
, если вам это нужно.
Создание базы данных
Следующий ваш шаг — создание базы данных. Предположим, что вам нужна база данных с именем rick
. Напоминаем о том, что вы уже создали пользователя с тем же именем. Сначала надо предоставить пользователю rick широкий ряд полномочий, чтобы он мог создавать новые базы данных. В среде разработки это особенно полезно, т. к. обеспечивает больше гибкости.
mysql> GRANT ALL ON *.* TO rick@localhost IDENTIFIED BY 'secretpassword';
Теперь протестируйте набор прав доступа, зарегистрировавшись как rick, и создайте базу данных:
$ mysql -u rick -р
Enter password:
...
mysql> CREATE DATABASE rick;
Query OK, 1 row affected (0.01 sec).
mysql>
Далее сообщите MySQL о том, что вы хотите переключиться на вашу новую базу данных:
mysql> use rick
Сейчас вы можете ввести в вашу базу данных таблицы и нужные вам данные. Во время последующих регистрации вы сможете задавать базу данных в конце командной строки и избежать применения команды use
.
$ mysql -u rick -p rick
Введя после подсказки пароль, вы автоматически, в ходе процесса подключения, переключитесь на использование базы данных rick по умолчанию.
Типы данных