Основы программирования в Linux - Страница 143
mysql> use mysqlmysql> DELETE FROM user WHERE user = "rick"mysql> FLUSH PRIVILEGES;Отказавшись от указания компьютера, вы обеспечите удаление всех записей, относящихся к пользователю MySQL, в данном случае rick, которого хотите удалить. После этого убедитесь в том, что вы вернулись в вашу базу данных (с помощью команды
useИмейте в виду, что команда
deletegrantrevokeuse mysqlПосле обновления таблиц, как показано в примерах, вы должны применить команду
FLUSH PRIVILEGESПароли
Если вы хотите задать пароли для уже существующих пользователей, не имевших их до сих пор, или изменить собственный или чей-то пароль, следует подключиться к серверу MySQL как пользователь root и напрямую обновить данные пользователя. Например,
mysql> use mysqlmysql> 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';Для проверки выведите снова соответствующие столбцы таблицы пользователей
usermysql> 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')Создание базы данных
Следующий ваш шаг — создание базы данных. Предположим, что вам нужна база данных с именем
rickmysql> GRANT ALL ON *.* TO [email protected] 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 по умолчанию.
Типы данных
Итак, у вас есть действующий сервер MySQL, безопасная регистрация вашего пользователя и база данных, готовая к применению. Что дальше? Сейчас нужно создать несколько таблиц со столбцами для хранения данных. Но прежде чем вы сможете сделать это, следует узнать о типах данных, поддерживаемых MySQL.
Типы данных MySQL довольно обычны, поэтому мы лишь бегло пробежимся по основным типам, и как всегда более подробную информацию можно найти в руководстве по MySQL на Web-сайте MySQL.
Столбец логического типа можно определить с помощью ключевого слова
BOOLTRUEFALSENULLВ табл. 8.7 перечислены все доступные символьные типы. Первые три — стандартные, оставшиеся три специфичны для MySQL. Мы полагаем, что на практике вы будете придерживаться стандартных типов.
Таблица 8.7
| Определение | Описание |
|---|---|
CHAR | Одиночный символ |
CHAR(N) | Символьная строка длиной точно N |
VARCHAR(N) | Массив переменной длины из N |
TINYTEXT | Аналогичен VARCHAR(N) |
MEDIUMTEXT | Текстовая строка длиной до 65 535 символов |
LONGTEXT | Текстовая строка длиной до 2³²–1 символов |