Читать интересную книгу Основы программирования в Linux - Мэтью Нейл

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 139 140 141 142 143 144 145 146 147 ... 324

mysql&gt;<b> use mysql</b>

mysql&gt; <b>DELETE FROM user WHERE user = &quot;rick&quot;</b>

mysql&gt;<b> FLUSH PRIVILEGES;</b>

Отказавшись от указания компьютера, вы обеспечите удаление всех записей, относящихся к пользователю MySQL, в данном случае rick, которого хотите удалить. После этого убедитесь в том, что вы вернулись в вашу базу данных (с помощью команды use), иначе вы можете случайно продолжить работу с собственной внутренней базой данных MySQL.

Примечание

Имейте в виду, что команда delete не относится к группе команд grant и revoke. Синтаксис SQL делает ее применение необходимым из-за способа обработки прав доступа в MySQL. Вы напрямую обновляете таблицы прав доступа MySQL (поэтому первой применяется команда use mysql) для внесения нужных вам изменений эффективным способом.

После обновления таблиц, как показано в примерах, вы должны применить команду FLUSH PRIVILEGES, чтобы сообщить серверу MySQL о необходимости перезагрузки таблиц с правами доступа.

Пароли

Если вы хотите задать пароли для уже существующих пользователей, не имевших их до сих пор, или изменить собственный или чей-то пароль, следует подключиться к серверу MySQL как пользователь root и напрямую обновить данные пользователя. Например,

mysql&gt; <b>use mysql</b>

mysql&gt; <b>SELECT host, user, password FROM user;</b>

Вы должны получить перечень, похожий на следующий:

+-----------+------+------------------+

| host      | user | password         |

+-----------+------+------------------+

| localhost | root | 67457e226a1a15bd |

| localhost | foo  |                  |

+-----------+------+------------------+

2 rows in set (0.00 sec)

Если вы хотите присвоить пароль bar пользователю foo, можно сделать следующее:

mysql&gt; <b>UPDATE user SET password = password('bar') WHERE user = 'foo';</b>

Для проверки выведите снова соответствующие столбцы таблицы пользователей user:

mysql&gt; <b>SELECT host, user, password FROM user;</b>

+-----------+------+------------------+

| host      | user | password         |

+-----------+------+------------------+

| localhost | root | 65457e236glalwbq |

| localhost | foo  | 7c9e0a41222752fa |

+-----------+------+------------------+

2 rows in set (0.00 sec) mysql&gt;

Теперь наверняка у пользователя foo есть пароль. Не забудьте вернуться в свою исходную базу данных.

Начиная с версии MySQL 4.1, схема формирования паролей обновлена по сравнению с более ранними версиями. Но для обратной совместимости вы все еще можете задавать пароль, применяя старый алгоритм с функцией OLD_PASSWORD('password to set'), если вам это нужно.

Создание базы данных

Следующий ваш шаг — создание базы данных. Предположим, что вам нужна база данных с именем rick. Напоминаем о том, что вы уже создали пользователя с тем же именем. Сначала надо предоставить пользователю rick широкий ряд полномочий, чтобы он мог создавать новые базы данных. В среде разработки это особенно полезно, т. к. обеспечивает больше гибкости.

mysql&gt; <b>GRANT ALL ON *.* TO [email protected] IDENTIFIED BY 'secretpassword';</b>

Теперь протестируйте набор прав доступа, зарегистрировавшись как rick, и создайте базу данных:

$ <b>mysql -u rick -р</b>

Enter password:

...

mysql&gt; <b>CREATE DATABASE rick;</b>

Query OK, 1 row affected (0.01 sec).

mysql&gt;

Далее сообщите MySQL о том, что вы хотите переключиться на вашу новую базу данных:

mysql&gt; <b>use rick</b>

Сейчас вы можете ввести в вашу базу данных таблицы и нужные вам данные. Во время последующих регистрации вы сможете задавать базу данных в конце командной строки и избежать применения команды use.

$ <b>mysql -u rick -p rick</b>

Введя после подсказки пароль, вы автоматически, в ходе процесса подключения, переключитесь на использование базы данных rick по умолчанию.

Типы данных

Итак, у вас есть действующий сервер MySQL, безопасная регистрация вашего пользователя и база данных, готовая к применению. Что дальше? Сейчас нужно создать несколько таблиц со столбцами для хранения данных. Но прежде чем вы сможете сделать это, следует узнать о типах данных, поддерживаемых MySQL.

Типы данных MySQL довольно обычны, поэтому мы лишь бегло пробежимся по основным типам, и как всегда более подробную информацию можно найти в руководстве по MySQL на Web-сайте MySQL.

Тип Boolean

Столбец логического типа можно определить с помощью ключевого слова BOOL. Как вы и ожидали, в нем могут храниться значения TRUE и FALSE, а также специальное "неопределенное" значение баз данных NULL.

Символьный тип

В табл. 8.7 перечислены все доступные символьные типы. Первые три — стандартные, оставшиеся три специфичны для MySQL. Мы полагаем, что на практике вы будете придерживаться стандартных типов.

Таблица 8.7

Определение Описание CHAR Одиночный символ CHAR(<i>N</i>) Символьная строка длиной точно <i>N</i> символов, которая будет при необходимости заполняться пробелами. Максимальная длина 255 символов VARCHAR(<i>N</i>) Массив переменной длины из <i>N</i> символов. Максимальная длина 255 символов TINYTEXT Аналогичен VARCHAR(<i>N</i>) MEDIUMTEXT Текстовая строка длиной до 65 535 символов LONGTEXT Текстовая строка длиной до 2³²–1 символов
1 ... 139 140 141 142 143 144 145 146 147 ... 324
На этом сайте Вы можете читать книги онлайн бесплатно русская версия Основы программирования в Linux - Мэтью Нейл.

Оставить комментарий