Создание базы MySQL и назначение привилегий пользователю
MySQL является очень распространенной базой данных, которую применяют в различных проектах (к примеру, проект LAMP — Linux / Apache / MySQL / PHP, который распространен во многих организациях по всему миру).
В процессе работы с MySQL, возникает необходимость создания новой базы данных и пользователя, от имени которого будут производится запросы к этой базе данных, а также назначение прав доступа к тем или иным данным этой базы.
Давайте, на примере создания базы данных testbase, пошагово рассмотрим сам процесс создания базы данных в MySQL.
Для начала, мы должны иметь установленный сервер mysql. Если он у вас еще не установлен, то установим его при помощи менеджера пакетов или, вручную, при помощи команд (в зависимости от дистрибутива):
В Debian/Ubuntu:$ sudo apt-get install mysql-server
В RedHat/Fedora и их производных:$ sudo yum install mysql-server
В Zenwalk:$
После установки необходимых пакетов, запустим сервер mysql командой (в зависимости от используемого дистрибутива):$ sudo /etc/rc.d/rc.mysqld start
или $ sudo /etc/init.d/mysqld start
или $ sudo service mysqld start
Затем осуществим подключение к серверу MySQL, используя аккаунт суперпользователя root:$ mysql -u root
Внимание! По умолчанию, при подключении к базе данных под пользователем root с localhost, ввод пароля не обязателен.
Если, при установке сервера mysql вы назначили пользователю какой-либо пароль, то вы можете подключиться к серверу mysql, используя ключ -p : $ mysql -u root -p
Enter password:
После успешного подключения, выполним команду создания базы данных:mysql> create database testbase;
Затем создадим пользователя baseuser для подключения к базе данных и назначим ему пароль «userpasswd»:mysql> grant usage on *.* to baseuser@localhost identified by ‘userpasswd’;
И, наконец, назначаем все привилегии (права) на базу testbase пользователю baseuser:mysql> grant all privileges on testbase.* to baseuser@localhost;
Символ * (звездочка) означает “все таблицы в базе данных”.
Все, с поставленной задачей мы справились.
Теперь проверим возможность подключения пользователя baseuser к базе данных testbase:
ithowto.ru
TINYINT | Очень маленькое целое число | Диапазон числа со знаком от –128 до 127. Диапазон числа без знака (unsigned) от 0 до 255. |
---|---|---|
SMALLINT | Маленькое целое число | Диапазон числа со знаком от –32768 до 32767. Диапазон числа без знака (unsigned) от 0 до 65535. |
MEDIUMINT | Среднее целое число | Диапазон числа со знаком от –8388608 до 8388607. Диапазон числа без знака (unsigned) от 0 до 16777215. |
INT или INTEGER | Целое число | Диапазон числа со знаком от –2147483648 до 2147483647. Диапазон числа без знака (unsigned) от 0 до 4294967295. |
BIGINT | Большое целое число | Диапазон числа со знаком от –9223372036854775808 до 9223372036854775807. Диапазон числа без знака (unsigned) от 0 до 18446744073709551615. |
FLOAT | Малое (одинарной точности) число с плавающей запятой. Не может быть числом без знака | Диапазоны от –3.402823466E+38 до –1.175494351E-38, 0 и 1.175494351E-38 до 3.402823466E+38. Если количество знаков после запятой не установлено или <= 24 это число с плавающей запятой одинарной точности. |
DOUBLE , DOUBLE PRECISION , REAL | Нормальное (двойной точности) число с плавающей запятой. Не может быть числом без знака | Диапазоны от -1.7976931348623157E+308 до -2.2250738585072014E-308, 0 и 2.2250738585072014E-308 до 1.7976931348623157E+308. Если количество знаков после запятой не установлени или 25 <= количество знаков <= 53 означает числоа с плавающей запятой двойной точности. |
DECIMAL , NUMERIC | Распакованное число с плавающей запятой | Работает подобно типу данных CHAR : «распакованный» означает, что число хранится в виде строки, используя один символ для каждой цифры-значения. Символ десятичной запятой и символ отрицательного числа «-» не учитывается в длину. Если десятичное значение равно 0, значение не будет иметь десятичной запятой или дробной части. Максимальный размер для DECIMAL значение такое же, как и для DOUBLE , но фактический диапазон для данного столбца DECIMAL может быть ограничен в выборе длины и десятичные дроби. |
DATE | Дата | Дата в диапазоне от «1000-01-01» до «9999-12-31». MySQL хранит поле типа DATE в виде «YYYY-MM-DD» (ГГГГ-ММ-ДД). |
DATETIME | Дата и время | Допустимые диапазоны от «1000-01-01 00:00:00» до «9999-12-31 23:59:59». MySQL хранит поле типа DATETIME в виде «YYYY-MM-DD HH:MM:SS» (ГГГГ-ММ-ДД ЧЧ-ММ-СС). |
TIMESTAMP | Дата и время | Диапазон от «1970-01-01 00:00:00» до, примерно, 2037 года. MySQL может хранить поле типа TIMESTAMP в видах «YYYYMMDDHHMMSS» (TIMESTAMP(14) ), «YYMMDDHHMMSS» (TIMESTAMP(12) ), «YYYYMMDD» (TIMESTAMP(8) ) и др. |
TIME | Время | Диапазон от «-838:59:59» до «838:59:59». MySQL хранит поле TIME в виде «HH:MM:SS», но позволяет присваивать значения столбцам с использованием либо строки или числа. |
YEAR | Год в 2- или 4- хцифровом виде (4 цифры по-умолчанию) | Если вы используете 4 цифра, то допустимые значения 1901-2155, и 0000. Если 2 цифры, то 1970-2069 (70-69). MySQL хранит значения поля YEAR в формате «YYYY». |
CHAR | Строка фиксированной длины, которая справа дополняются пробелами до указанной длины, при хранении | Диапазон длины от 1 до 255 символов. Завершающие пробелы удаляются, когда значение извлекается. Значения CHAR сортируются и сравниваются без учета регистра в зависимости от кодировки по умолчанию, если не установлен флаг . |
VARCHAR | Строка переменной длины. Примечание: конечные пробелы удаляются при сохранении (в отличие от спецификации ANSI SQL). | Диапазон длины от 1 до 255 символов. Значения VARCHAR сортируются и сравниваются без учета регистра, если не установлен флаг BINARY . |
TINYBLOB , TINYTEXT | BLOB или ТЕХТ с максимальной длиной 255 (2^8 — 1) символов. | |
BLOB , TEXT | BLOB или ТЕХТ с максимальной длиной 65535 (2^16 — 1) символов. | |
MEDIUMBLOB , MEDIUMTEXT | BLOB или ТЕХТ с максимальной длиной 16777215 (2^24 — 1) символов. | |
LONGBLOB , LONGTEXT | BLOB или ТЕХТ с максимальной длиной 4294967295 (2^32 — 1) символов. | |
ENUM | Перечисление | Строка-объект, который может принимать только одно значение, выбирается из списка значений «значение 1», «значение 2» или NULL . ENUM максимум может иметь 65535 различных значений. |
SET | Набор | Строка-объект, который может принимать ноль и более значений, каждоу из которых должно быть выбрано из списка значений «значение 1», «значение 2», … Поле SET может иметь максимум 64 варианта значений. |
labs-org.ru
MySQL: Создание базы данных, таблицы. SQL-команды.
Всем привет. Как Вы помните в прошлой записи мы научились устанавливать сервер MySQL. Теперь самое время создать базу данных и таблицу. Для этого мы с Вами познакомимся с еще одним языком программирования SQL. SQL (structured query language) – язык структурированных запросов, который является неструктурированным языком программирования предназначенным для управления данными в произвольной реляционной базе данных, управляемой соответствующей СУБД. Мы с Вами рассмотрим только самые необходимые в процессе создания базы и таблицы.
Перед тем как создавать таблицу, рассмотрим структуру. Итак таблица состоит из столбцов и строк, которые могут хранится в произвольной форме. Каждый столбец имеет имя и тип данных. Как я писал в предыдущей статье строки — это объекты и они не должны повторяться. Для предотвращения совпадений СУБД автоматически нумерует строки, что называется первичным ключом. Также следует запомнить что первичный ключ это связь между таблицами, хотя в проекте мы пока используем одну таблицу. Если таблица Б использует первичный ключ таблицы А , для ссылки на нее(на А), то ключ называется внешним по отношению к таблице Б. Это надо запомнить на будущее. Пока этого хватит. Итак приступим к созданию базы данных1. Используем утилиту командной строки для выполнения SQL-команд. Подключаемся к серверу из командной строки. Вводим пароль, какой задали при конфигурации, по умолчанию root. Если выдает ошибку, проверяем запущен ли сервер. Если все нормально, то можем начинать вводить команды (рис. ниже).
2. Во избежание проблем с кодировкой русскоязычных данных при подключении к серверу вводим команду SET NAMES cp866, после этого сервер будет автоматически выполнять преобразования кодировок при обменен данными с клиентским приложением. (рис. слева).
3. Создаем базу данных следующей командой CREATE DATABASE logger, где logger – имя базы данных, естественно Вы задаете свое.
4. После создания базы данных, мы можем просмотреть ее визуально, командой SHOW DATABASES.
5. Как видите у нас в списке 6 баз, где
— information_schema – информационная база данных;
— logger – только что созданная база данных;
— mysql – служебная база данных, в которой хранятся сведения о пользователях;
— performance_schema – база данных, которая собирает данные события во время выполнения сервера.
— test – пустая база данных ;
и log1, в которой нет надобности, поэтому удалим ее. Для удаления БД используем команду DROP DATABASE log1. Просмотрим снова имеющиеся базы , и увидим что log1 уже нету. (рис. выше).
6. Переходим к созданию таблицы. Для этого сначала выберем базу данных командой use logger; после этого мы должны получить ответ Database changed. (Рис. ниже).
7. Создаем таблицу и столбцы следующей командой: CREATE TABLE Log (T1 FLOAT (3,1), T2 FLOAT (3,1), TIMELog VARCHAR (5), DATELog VARCHAR (8), ID SERIAL, PRIMARY KEY (ID)) ENGINE InnoDB CHARACTER SET utf8; (Рис. ниже).
Где — CREATE TABLE Log – создание таблицы с именем Log
— T1 FLOAT (4,1), T2 FLOAT (4,1) – первые две таблицы для хранения значений температуры, с одним знаком после запятой.
— TIMELog VARCHAR (5), DATELog VARCHAR (8) – TIMELog и DATELog время и дата соответственно, символьного типа, 5 и 8 максимум символов в каждом столбце. Есть конечно специальные типы SQL для даты и времени, но у меня немножко не тот формат. На данный момент сойдет и в таком виде.
— ID SERIAL – это наш идентификатор строки, типа SERIAL, который означает большие целые, положительные и автоматически нумерует строки. Это у нас и будет первичный кюч, где мы указываем PRIMARY KEY (ID). И последнее два опциональных параметра первый отвечает за тип таблицы ENGINE InnoDB, второй CHARACTER SET utf8 — это кодировка по умолчанию данных заносимых в таблицу.
8. Теперь мы можем получить детальную информацию о таблице. Для этого воспользуемся командой Describe Log.
Где field – имена столбцов;
Type – типы столбцов;
NULL – указывает на возможность быть столбцом неопределенным значением;
Key – вхождение столбца в ключи и индексы в данном случае первичный ключ;
Default – значение столбца по умолчанию;
Extra — дополнительная информация. В данном случае автоматическая нумерация.
9. Теперь можем просмотреть созданные таблицы в базе данных. Для этого используем команду show tables. (Рис. выше). Если необходимо удалить таблицу то используем команду drop table имя.
Сегодня мы с Вами рассмотрели создание базы данных и одной таблицы. В следующей записи мы научимся заполнять базу данными. А именно перенесем данные контроллера сбора данных (Статья №39) через java приложение в текстовый файл (статья №47) и в базу данных. На этом на сегодня все. Всем пока.
Просмотрено 3084 раз.
www.ap-impulse.ru
Создание базы данных в phpMyAdmin
В данной теме рассмотрено создание базы данных в MySQL а также работа с ней. Я рекомендую Вам создать такую БД, как предложено в примерах, потому что в других темах этого учебника мы продолжим с ней работать.
Создание базы данных
Чтобы создать новую базу данных нужно зайти во вкладку «Базы данных» на главной странице программы. В верхней части окна есть меню создания базы данных.
Назовём базу данных mybase, сравнение выберем utf8_general_ci, нажмём кнопку «Создать». БД создана, она отобразилась в списке баз даннных в левой колонке программы. Пока БД пустая, она не содержит ни одной таблицы. После создания БД программа переходит на вкладку «Структура», где можно создать таблицу.
Создание таблицы
На основе того, какая информация будет содержаться в таблице, мы решаем из каких полей она будет состоять. Создадим таблицу пользователей сайта. В ней будут такие поля:
id — уникальный номер пользователя
login — логин для авторизации
pas — пароль
inform — какая-то информация о пользователе
Во вкладке «Структура» создадим новую таблицу:
Называем таблицу users, указываем, что в ней 4 поля, нажимаем кнопку «Вперёд» и переходим на страницу создания таблицы.
Сначала укажем то, что относится ко всей таблице — тип и сравнение. Эти данные указываются в нижней части страницы.
Тип таблицы выбирете InnoDB. Это основной тип, который используется в MySQL. Сравнение укажите utf8_general_ci.
Имена полей укажите такие, как я предложил, например, имя первого поля должно быть id. Затем ему нужно указать тип.
Типов достаточно много, однако при создании сайтов, в базах данных содержатся обычно тексты и числа. Для каждого из этих видов информации есть несколько типов полей. Для коротких текстов одни типы, для длинных другие. Это сделано для экономии дискового пространства. На практике используются, в основном, такие типы:
INT — для целых чисел
FLOAT — для дробных чисел
VARCHAR — для очень которких текстов
TEXT — для обычных текстов
Если навести указатель мыши на название какого-то типа, то появляется пояснение.
Для поля id выберете тип INT.
Также этому полю нужно установить AUTO_INCREMENT. При установке появится блок с добавлением индекса. В нём нужно просто нажать кнопку «Вперёд».
Всё это нужно для того, чтобы в поле автоматически появлялись значения по порядку. При добавлении первой записи в этом поле будет число 1, при добавлении следующей число 2 и так далее. Таким способом каждому пользователю в таблице присваивается уникальный номер.
Следующее поле должно называться login, тип установим VARCHAR. Для этого типа нужно установить максимальную длину строки. Она указывается в следующей колонке. Нет необходимости стараться, чтобы строка была короткой, ведь базы данных и так содержат информацию в компактном формате. Можно указать длину строки с запасом. Укажем 50 символов. Чтобы русские буквы отображались правильно, для поля нужно установить сравнение. Но если Вы указали сравнение всей таблице, то отдельным полям указывать не обязательно.
Следующее поле назовём pas, тип VARCHAR, длина 50 символов.
Следующее поле называется inform, тип TEXT. Длину для этого типа указывать не нужно. Максимальная длина этого типа 65000 символов. Если предполагается, что в поле может быть текст большего размера, то нужно использовать другие типы.
Когда всё указано, нажмите кнопку «Сохранить». Если Вы всё сделали правильно, то таблица создана. Программа переходит на вкладку «Структура» этой таблицы. Чтобы вернуться к ней в дальнейшем, можно нажать на название своей БД в левой части окна программы. Появится список таблиц в этой БД. Нажав на одну из таблиц, Вы зайдёте во вкладку «Обзор». Пока она пустая, ведь в таблице ещё нет записей. Если перейти во вкладку «Структура», то вы можете увидеть как организована эта таблица, какие в ней есть поля. Их можно поменять местами, изменить или удалить. Также в таблицу можно добавить новые поля.
Добавление записи в таблицу
При выполнении многих действий программа phpMyAdmin выводит SQL код, с помощью которого совершаются эти действия. Пока на этот код не обращайте внимания. Рядом с этим кодом может быть кнопка «Выполнить». Если её нажать, то этот код выполнится ещё раз. То есть, действие, которое Вы только что сделали, будет повторено. Не нужно нажимать эту кнопку, переходите к результату выполнения запроса.
Чтобы добавить запись, нужно открыть таблицу и войти во вкладку «Вставить».
Откроется страница добавления записи. В колонке «Значение» пишутся значения полей. Значение поля id писать не надо, оно заполняется автоматически. Кроме того, можно не указать значения каких-то других полей. Тогда в этой записи данное поле останется пустым. Заполните значения полей и нажмите кнопку «Вперёд».
Программа перейдёт во вкладку «SQL», в которой должно быть сообщение, о том, что добавлена одна строка, а также код запроса, с помощью которого эта строка добавлена в таблицу. Перейдите во вкладку «Обзор». Вы увидите запись, которая появилась в таблице. Таким же образом можно добавлять другие записи.
Основные действия с таблицей производятся в двух вкладках. Во вкладке «Структура» можно управлять полями таблицы, а во вкладке «Обзор» Вы работаете с данными. В ней можно удалить одну или несколько записей, изменить значения. Если на какой-то ячейке сделать двойной щелчёк мыши, то можно редактировать значение этой ячейки. Во вкладке «Операции» можно осуществить некоторые другие операции с таблицей, в том числе, очистить или удалить её. Попробуйте добавить в таблицу новые записи.
basecourse.ru
Создать пользователя базы данных MySQL
Создать пользователя базы данных MySQL можно из консоли, подключиться требуется с правами root. То же самое можно проделать через веб-интерфейс PHPMYADMIN, но описанный ниже способ универсален.
Прежде всего нужно подключиться к консоли
mysql -h localhost -u root -p
Пользователь создается следующим образом MySQL:
CREATE USER ‘user’@’localhost’ IDENTIFIED BY ‘password’;
Пользователь MySQL создан, однако каких либо прав на работу с базами данных у него нет и авторизоваться на данном этапе он не может.
Предоставляем доступ к базам данных
GRANT ALL PRIVILEGES ON * . * TO ‘user’@’localhost’;
* . * здесь означает все таблицы всех баз данных.
ALL PRIVILEGES предполагает права на чтение, редактирование, изменение и удаление и т.п. таблиц и баз.
Полный список возможных опций:
- ALL PRIVILEGES — полный доступ к заданной таблице/базе данных или всем таблицам/базам.
- CREATE — право создавать новые таблицы/базы данных.
- DROP — право удалять таблицы/базы данных.
- SELECT — право выполнять чтение из таблиц/баз данных
- UPDATE — право редактировать строки таблиц
- DELETE — право удалять строки из таблиц
- INSERT — право добавлять строки в таблицу
- GRANT OPTION — право назначать или удалять права доступа для других пользователей
Чтобы изменения вступили в силу необходимо выполнить:
FLUSH PRIVILEGES;
Команду нужно выполнять каждый раз при редактировании реквизитов пользователей и прав доступа
Права можно также забрать используя REVOKE
Например:
REVOKE UPDATE ON *.* FROM ‘user’@‘localhost’;
Протестировать доступ от имени созданного пользователя можно выйдя из консоли MySQL
quit
и подключившись к ней и реквизитами добавленного пользователя, в примере это user
mysql -u user -p
Пользователя можно удалить тем же образом, что и базу данных
DROP USER ‘user’@’localhost’;
Обновить пароль пользователя сервера баз данных
UPDATE mysql.user SET Password=PASSWORD(‘password123′) WHERE USER=’user’ AND Host=’localhost’;
Вывести в консоль всех существующих пользователей и их пароли с привязкой к хосту
SELECT host, user, password FROM mysql.user;
server-gu.ru
Создание базы данных MySQL (CREATE DATABASE) — Справочник Web-языков
Материал из Справочник Web-языков
Создание базы данных выполняется с помощью оператора CREATE DATABASE.
Синтаксис оператора CREATE DATABASE
CREATE DATABASE [IF NOT EXISTS] db_name [CHARACTER SET charset] [COLLATE collation];
- db_name
- — Имя, которое будет присвоено создаваемой базе данных.
- IF NOT EXISTS
- — Если не указать этот параметр, то при попытке создания базы данных с уже существующим именем, возникнет ошибка выполнения команды.
- CHARACTER SET, COLLATE
- — Используется для задания стандартной кодировки таблицы и порядка сортировки.
- Если при создании таблицы эти параметры не указываются, то кодировка и порядок сортировки вновь создаваемой таблицы берутся из значений, указанных для всей базы данных. Если задан параметр CHARACTER SET, но не задан параметр COLLATE, то используется стандартный порядок сортировки. Если задан параметр COLLATE, но не задан CHARACTER SET, то кодировку определяет первая часть имени порядка сортировки в COLLATE.
- Кодировка, заданная в CHARACTER SET, должна поддерживаться сервером (latin1 или sjis), а порядок сортировки должен быть допустимым для текущей кодировки.
Примеры использования CREATE DATABASE
Следущий пример создает базу данных «my_db»:
CREATE DATABASE `my_db`
или
CREATE DATABASE `my_db` CHARACTER SET utf8 COLLATE utf8_general_ci;
Для того, чтобы посмотреть настройки уже существующей базы данных необходимо выполнить оператор SHOW CREATE DATABASE
mysql> SHOW CREATE DATABASE `test`; +----------+-----------------------------------------------------------------+ | Database | Create Database | +----------+-----------------------------------------------------------------+ | test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET latin1 */ | +----------+-----------------------------------------------------------------+ 1 row in set (0.02 sec)
При создании новой базы данных в MySQL следует придерживаться некоторых правил относительно имени базы данных:
- Максимальная длина имени не должна превышать 64 символов.
- Разрешены любые символы, которые допускаются в имени каталога, за исключением / (слеш) и . (точка). Но следует принять во внимание, что нельзя использовать символы ASCII(0) и ASCII(255).
www.spravkaweb.ru
Создание базы MySQL и назначение привилегий пользователю
MySQL является очень распространенной базой данных, которую применяют в различных проектах (к примеру, проект LAMP — Linux / Apache / MySQL / PHP, который распространен во многих организациях по всему миру).
В процессе работы с MySQL, возникает необходимость создания новой базы данных и пользователя, от имени которого будут производится запросы к этой базе данных, а также назначение прав доступа к тем или иным данным этой базы.
Давайте, на примере создания базы данных testbase, пошагово рассмотрим сам процесс создания базы данных в MySQL.
Для начала, мы должны иметь установленный сервер mysql. Если он у вас еще не установлен, то установим его при помощи менеджера пакетов или, вручную, при помощи команд (в зависимости от дистрибутива):
В Debian/Ubuntu:$ sudo apt-get install mysql-server
В RedHat/Fedora и их производных:$ sudo yum install mysql-server
В Zenwalk:$ sudo netpkg mysql-server
После установки необходимых пакетов, запустим сервер mysql командой (в зависимости от используемого дистрибутива):$ sudo /etc/rc.d/rc.mysqld start
или $ sudo /etc/init.d/mysqld start
или $ sudo service mysqld start
Затем осуществим подключение к серверу MySQL, используя аккаунт суперпользователя root:$ mysql -u root
Внимание! По умолчанию, при подключении к базе данных под пользователем root с localhost, ввод пароля не обязателен.
Если, при установке сервера mysql вы назначили пользователю какой-либо пароль, то вы можете подключиться к серверу mysql, используя ключ -p : $ mysql -u root -p
Enter password:
После успешного подключения, выполним команду создания базы данных:mysql> create database testbase;
Затем создадим пользователя baseuser для подключения к базе данных и назначим ему пароль «userpasswd»:mysql> grant usage on *.* to baseuser@localhost identified by ‘userpasswd’;
И, наконец, назначаем все привилегии (права) на базу testbase пользователю baseuser:mysql> grant all privileges on testbase.* to baseuser@localhost;
Символ * (звездочка) означает “все таблицы в базе данных”.
Все, с поставленной задачей мы справились.
Теперь проверим возможность подключения пользователя baseuser к базе данных testbase:$ mysql -u baseuser -p ‘userpasswd’ testbase
www.ithowto.ru