Основы создания баз данных mysql

Команды управления и отображения

Теперь необходимо перейти к следующему шагу. Для этого необходимо выбрать существующую или создать новую базу данных. Для выбора существующей базы необходимо использовать команду use. И через пробел ввести имя базы данных. Изначально в утилите она существует только одна — с именем test. Поэтому запрос будет выглядеть следующим образом: use test.

Для создания базы данных необходимо воспользоваться командой create, указав ей ключевое слово database и задав соответствующее имя. Структура примет следующий вид: create database Name_of_database. Для работы с созданной базой к ней необходимо обратиться при помощи команды use.

В среде предусмотрена функция, предназначенная для отображения существующих баз данных, таблиц, первичных ключей или внешних связей и вывода имеющейся о них информации на MySQL консоль. Команды в этом случае должны всегда начинаться с предложения show. Например, для того чтобы отобразить список имеющихся баз данных для текущего пользователя, достаточно ввести следующий запрос: show databases. Для отображения таблицы достаточно после ключевого слова изменить объект отображения, вписав tables.

Основные преимущества СУБД MySQL

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

Главным плюсом на российском рынке считается ее доступность, так как она бесплатна в большинстве случаев. Второй особенностью является быстродействие. Одной из самых популярных систем является MySQL. Команды в ней выполняются быстро, с минимальным временем отклика. Не оказывает влияния на скорость обработки команд подключение к серверу нескольких клиентов в многопоточном режиме за счет использования механизма InnoDB для быстрой поддержки транзакций.

Наличие ODBC драйвера позволяет упростить разработчикам решение многих задач. К преимуществам также стоит отнести наличие возможности осуществления записей фиксированной и переменной длины. Но главная функция, которая очень ценится в кругу программистов, – интерфейс с языками С и РНР. Возможности, предоставляемые MySQL, позволили использовать данную СУБД для огромного числа провайдеров услуг интернет-хостинга.

А для простого обывателя, проявляющего интерес к современным технологиям хранения информации, необходимо изучать MySQL, команды SQL и их синтаксис потому, что специалисты в данном направлении являются широко востребованными и высокооплачиваемыми в любой точке мира. Поэтому, если кого-нибудь интересует данное направление, не стоить медлить. Необходимо переходить к изучению прямо сейчас.

CREATE TABLE

Команда создает новую таблицу в выбранной базе данных и которая в простейшем случае имеет следующий синтаксис:

Здесь — имя создаваемой таблицы.

Выполнив SQL-команду , можно убедиться, что таблица успешно создана

Давайте теперь аналогичным образом создадим другие таблицы.

Следующей по порядку идет таблица forums, в которой содержатся данные о разделах форума.

Примечание

Для удобства на форуме может быть создано несколько различных разделов. К примеру, на форуме по языкам программирования для того, чтобы не смешивать темы, относящиеся к различным языкам, имеет смысл создать следующие разделы: С++, PHP, Java и т. д.

В таблице присутствуют следующие поля: первичный ключ (),
название раздела (), правила форума (), краткое описание форума (),
порядковый номер (), флаг, принимающий значение 1, если форум скрытый и 0, если общедоступный ().

Вот SQL-запрос, создающий таблицу

Структура форума может быть следующей: имеются список разделов, переход по которым приводит посетителя к списку тем раздела. При переходе по теме посетитель приходит к обсуждению этой темы, состоящих из сообщений других посетителей. Теперь создадим таблицу , содержащую темы форума:

В таблице присутствуют следующие поля: первичный ключ (), название темы (),
автор темы (), внешний ключ к таблице авторов (), флаг, принимающий значение 1,
если тема отмечена скрытой и 0, если отображается () — это поле необходимо для модерирования,
время добавления темы (), внешний ключ к таблице форумов (), для того чтобы определить
к какому разделу форума относится данная тема.

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

Создадим последнюю таблицу , в которой хранятся сообщения:

В таблице присутствуют следующие поля: первичный ключ (),
тело сообщения (), необязательная ссылка на ресурс, которую автор сообщения может
ввести при добавлении сообщения (), путь к файлу прикрепляемому к сообщению (),
имя автора (), внешний ключ к таблице авторов (), флаг, принимающий
значение 1, если сообщение отмечено как скрытое и 0, если он отображается () — это
поле необходимо для модерирования, время добавления сообщения (), сообщение ответом на
которое является данное сообщение (), если это первое сообщение в теме — это поле
равно 0, внешний ключ к тем (), для того чтобы определить к какой теме относится сообщение.

Убедимся, что все таблицы успешно созданы, выполнив команду .

Множественное обновление таблиц (с помощью Left Join)

Аналогично предыдущему примеру внутреннего соединения, мы можем также использовать левое соединение.

Когда мы используем внутреннее соединение, мы не указываем ключевое слово “inner join”, так как это по умолчанию при объединении нескольких таблиц.

Однако при использовании соединения слева мы должны явно указать “left join”, как показано ниже.

mysql> UPDATE worker LEFT JOIN benefits on worker.dept = benefits.dept
    -> SET worker.salary = worker.salary+500 
    -> WHERE benefits.bonus is null;
Query OK, 2 rows affected (0.03 sec)
Rows matched: 2  Changed: 2  Warnings: 0

Вот выход после вышеуказанного обновления.

mysql> SELECT * FROM worker;
+-----+--------+------------+--------+
| id  | name   | dept       | salary |
+-----+--------+------------+--------+
| 100 | Andrey | Sales      |   7500 |
| 200 | Anton  | Sales      |   7500 |
| 300 | Maxim  | IT         |   7000 |
| 400 | Dimon  | IT         |   5500 |
| 500 | Anton  | Marketing  |   5800 |
| 501 | Anna   | Marketing  |   5800 |
+-----+--------+------------+--------+

Другие примеры

Рассмотрим часто встречаемые операции по работе с пользователями сервера баз данных.

1. Особые права

Предоставление особых прав пользователю:

> GRANT SELECT, UPDATE ON base1.* TO ‘dbuser’@’localhost’ IDENTIFIED BY ‘password’;

* права на выборку и обновление данных во всех таблицах базы base1 для пользователя dbuser
** список всех возможных прав: all privileges, alter, create, create temporary tables, delete, drop, execute, file, index, insert, lock tables, process, references, reload, replication client, replication slave, select, show databases, shutdown, super, update, usage

2. Удаленное подключение

Разрешение на удаленное подключение и использование базы MySQL:

> GRANT ALL PRIVILEGES ON *.* TO ‘dbuser’@’192.168.0.55’ IDENTIFIED BY ‘password’;

* предоставит права пользователю dbuser, который будет подключаться с компьютера с IP-адресом 192.168.0.55.

3. Права на резервное копирование

Создание учетной записи MySQL с правами создания резервных копий:

> GRANT SELECT, SHOW VIEW, RELOAD, REPLICATION CLIENT, EVENT, TRIGGER, LOCK TABLES ON *.* TO ‘backup’@’localhost’ IDENTIFIED BY ‘backup’;

4. Права доступа к определенной таблице

По сути, это такое же предоставление прав, но с указанием конкретной таблицы после базы:

> GRANT ALL PRIVILEGES ON base1.table1 TO ‘dbuser’@’localhost’ IDENTIFIED BY ‘password’;

* в данном примере предоставлены все права на таблицу table1 в базе base1.

5. Удаление пользователя

Нам может также понадобиться удалить ранее созданного пользователя. Это делается в два этапа:

> REVOKE ALL PRIVILEGES, GRANT OPTION FROM ‘dbuser’@’localhost’;

> DROP USER ‘dbuser’@’localhost’;

* в данном примере мы первой командой отняли все права у пользователя dbuser (localhost) и второй — удалили его.

Что может храниться в MySQL

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

Напри­мер, все наши ста­тьи в «Коде» хра­нят­ся в MySQL-базе, с кото­рой мы рабо­та­ем через Ворд­пресс. Там же есть инфор­ма­ция и об авто­рах, и о кар­тин­ках для ста­тей, о дате пуб­ли­ка­ции и о мно­гом дру­гом. Что­бы вы про­чи­та­ли эту ста­тью, сайт обра­тил­ся к базе дан­ных, взял отту­да ста­тью, пра­виль­но её обра­бо­тал и пока­зал вам.

Дру­гие исполь­зу­ют MySQL для рабо­ты с кли­ент­ской базой — в биз­не­се, поли­кли­ни­ках или систе­мах учё­та товаров. 

Самой базе всё рав­но, что в ней хра­нит­ся и как вы этим поль­зу­е­тесь. База дан­ных — это про­сто спо­соб свя­зать дан­ные вме­сте, а потом най­ти в них то, что нужно.

Создание запросов.

SELECT используется для получение данных. Давайте получим значения столбца user и pass .

Или получим всю таблицу :

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

WHERE

В запросе мы можем использовать всяко разные условия. Выведем например все данные где user = ‘test’ :

  • сравнение текста;
  • сравнение численных значений;
  • логические операции AND (и), OR (или) и NOT (отрицание).

ORDER BY

ORDER BY используется для сортировки результатов запроса по убыванию или возрастанию. ORDER BY отсортирует по возрастанию, если не будет указан способ сортировки ASC или DESC.

BETWEEN

С помощью BETWEEN мы можем выбрать определенный промежуток. Могут использованы числовые и текстовые значения, а также даты. Например с 2 по 4 запись :

LIKE

Оператор LIKE используется в WHERE, чтобы задать шаблон поиска похожего значения.

  • _ — Подчеркнутый символ представляет собой один символ .
  • % — Знак процента представляет нулевой, один или несколько символов.
  • WHERE name LIKE ‘text%’ : Находит любые значения, начинающиеся с «text» .
  • WHERE name LIKE ‘%text’ : Находит любые значения, заканчивающиеся на «text» .
  • WHERE name LIKE ‘%text%’ : Находит любые значения, которые имеют «text» в любой позиции .
  • WHERE name LIKE ‘_text%’ : Находит любые значения, которые имеют «text» во второй позиции .
  • WHERE name LIKE ‘text_%_%’ : Находит любые значения, начинающиеся с «text» и длиной не менее 3 символов .
  • WHERE name LIKE ‘text%data’ : Находит любые значения, начинающиеся с «text» и заканчивающиеся на «data» .

Агрегатные функции

  • COUNT (Имя столбца) — возвращает количество строк
  • SUM ( Имя столбца ) — возвращает сумму значений в данном столбце
  • AVG ( Имя столбца ) — возвращает среднее значение данного столбца
  • MIN ( Имя столбца ) — возвращает наименьшее значение данного столбца
  • MAX ( Имя столбца ) — возвращает наибольшее значение данного столбца

Как работают связи в базе данных

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

Один к одно­му. Это самый про­стой вид свя­зи, кото­рый гово­рит: одной запи­си из этой таб­ли­цы соот­вет­ству­ет толь­ко одна запись из дру­гой таб­ли­цы. Если мы сде­ла­ем новую таб­ли­цу с фото­гра­фи­я­ми кли­ен­тов, то каж­дой фото­гра­фии будет соот­вет­ство­вать толь­ко один кли­ент и наоборот.

Один ко мно­гим. Когда у нас есть таб­ли­ца с кли­ен­та­ми и таб­ли­ца с их покуп­ка­ми, тут рабо­та­ет связь «один ко мно­гим». Это зна­чит, что у нас одной запи­си о кли­ен­те соот­вет­ству­ет несколь­ко запи­сей об их покуп­ках, напри­мер, если он их сде­лал в раз­ное вре­мя. Бла­го­да­ря этой свя­зи мы можем выве­сти все покуп­ки для каж­до­го кли­ен­та в отдельности.

Ещё при­мер — худож­ни­ки и кар­ти­ны. Каж­дая кар­ти­на при­над­ле­жит толь­ко одно­му худож­ни­ку, но одно­му худож­ни­ку может при­над­ле­жать мно­го раз­ных картин. 

Мно­гие ко мно­гим. А вот это хит­рая связь — для неё нуж­на отдель­ная таб­ли­ца. Смысл такой: мы дела­ем про­ме­жу­точ­ную таб­ли­цу, в кото­рой соеди­ня­ем дан­ные из одной таб­ли­цы с дан­ны­ми из дру­гой. Полу­ча­ет­ся, что в новой таб­ли­це как бы нет дан­ных — в ней толь­ко связи.

Допу­стим, вы ведё­те свой спи­сок дел в еже­днев­ни­ке, где мож­но ста­вить мет­ки для дел. Мет­ки помо­га­ют понять, что за дело перед вами, и выгля­дят при­мер­но так: «в доро­ге», «позво­нить», «на неде­ле», «под­пи­сать у Ива­ны­ча» и «за ком­пью­те­ром». Их мож­но назна­чить любой зада­че — одну мет­ку, две или все сра­зу. Полу­ча­ет­ся так:

  • одна мет­ка может сто­ять на мно­же­стве раз­ных задач
  • у одной зада­чи может быть мно­го раз­ных меток. 

Это зна­чит, что мы свя­за­ли мно­же­ство меток со мно­же­ством задач и теперь можем искать одно через другое.

Почему MySQL так популярна

С момен­та сво­е­го появ­ле­ния в 1995 году, MySQL была бес­плат­ной, про­стой и пред­ска­зу­е­мой систе­мой управ­ле­ния база­ми дан­ных. Это при­ве­ло к тому, что её исполь­зо­ва­ли мно­го ком­па­ний по все­му миру, что сде­ла­ло её неглас­ным стан­дар­том для баз данных.

Ещё в MySQL встро­е­ны систе­мы без­опас­но­сти и раз­гра­ни­че­ния досту­па. Напри­мер, мож­но сде­лать так, что­бы мене­джер мог толь­ко вно­сить дан­ные, руко­во­ди­тель отде­ла — изме­нять их, но не уда­лять, а дирек­тор мог делать с дан­ны­ми что угодно.

Но основ­ная при­чи­на попу­ляр­но­сти MySQL — пол­ная под­держ­ка SQL-языка.

Сложные mysql запросы

Как уже упоминалось раньше, сложные mysql запросы, работают более, нежели с одной таблицей БД. Данные mysql запросы, мы будем рассматривать более в индивидуальном порядке, так как они сложные и их будет немного.

SELECT DISTINCT last_name FROM person, address WHERE person.adress_no = address.address_no AND city LIKE ‘L%’;

или

SELECT DISTINCT last_name FROM person p, address adr WHERE p.adress_no = adr.address_no AND city LIKE ‘L%’;

Выводит все уникальные фамилии людей (last_name), которые живут в городе с названием на букву L. (предполагаем, что в таблице address есть поля address_no, city).

Данные примеры сложных mysql запросов, выведут один и тот же результат. Запросы не очень то и сложные, нужно только указать имя таблицы БД, а потом, через точку указать поле таблицы. Или же можно, как во втором примере, дать короткие имена таблицам (p для person, adr для address). Результат запросов будет один и тот же.

SELECT heroes.char_name, heroes.count, char_templates.ClassName FROM char_templates, heroes WHERE char_templates.ClassId = heroes.class_id Order by char_templates.ClassName;

 или

SELECT char_name, count, ClassName FROM heroes left join char_templates on heroes.class_id=char_templates.ClassId;

 Берем из таблицы heroes поле char_name, из heroes поле count, из таблицы char_templates поле ClassName, где char_templates.ClassId и heroes.class_id имеют общий идентификатор и сортируем запрос по имени класса героев.

Таким же образом, можно подавать сложные mysql запросы с помощью update, insert, delete и др.

69

td69

Дальше: CAPTCHA на PHP: реализация скрипта каптчи на php

Создание нового пользователя

В части 1 руководства по работе с MySQL мы воспользовались всеми возможностями для редактирования в MySQL с помощью пользователя с правами root, обладающего полным доступом ко всем базам данных. Однако для тех случаев, когда нам могут потребоваться дополнительные ограничения, существует возможность создания пользователей с настраиваемыми правами.

Давайте начнем с создания нового пользователя внутри оболочки MySQL:

Примечание: при добавлении пользователей в оболочке MySQL в данном руководстве мы будем в качестве хоста пользователя использовать , а не IP-адрес сервера. — это имя хоста, которое означает «этот компьютер», и MySQL работает с этим именем хоста особенным образом: когда пользователь на данном хосте выполняет вход в MySQL, СУБД будет пытаться подключиться к локальному серверу, используя файл сокета Unix. Таким образом, обычно используется, если вы планируете подключение к вашему серверу через SSH или если вы запускаете локальный клиент для подключения к локальному серверу MySQL.

В данный момент newuser не имеет прав на выполнение каких-либо действий с базами данных. Фактически, даже если newuser попытается выполнить вход (с помощью пароля password), он не сможет получить доступ к оболочке MySQL.

Таким образом, первое, что необходимо сделать, — это предоставить пользователю доступ к необходимой ему информации.

Звездочки в этой команде обозначают базу данных и таблицу (соответственно), к которым пользователь может получить доступ. Эта конкретная команда позволяет пользователю читать, редактировать, запускать и выполнять любые задачи для всех баз данных и таблиц.

Обратите внимание, что в этом примере мы предоставляем newuser полный корневой доступ ко всему содержанию нашей базы данных. Хотя это может быть полезно для объяснения некоторых концепций MySQL, в большинстве случаев это может быть нецелесообразно и может отрицательно сказаться на безопасности вашей базы данных

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

После этого внесенные вами изменения вступят в силу.

Creating a new database using MySQL Workbench

To create a new database using the MySQL Workbench, you follow these steps:

First, launch the MySQL Workbench and click the setup new connection button as shown in the following screenshot:

Second, type the name for the connection and click the Test Connection button.

MySQL Workbench displays a dialog asking for the password of the user:

You need to (1) type the password for the user, (2) check the Save password in vault, and (3) click OK button.

Third, double-click the connection name Local to connect to the MySQL Server.

MySQL Workbench opens the following window which consists of four parts: Navigator, Query, Information, and Output.

Fourth, click the create a new schema in the connected server button from the toolbar:

In MySQL, the schema is the synonym for the database. Creating a new schema also means creating a new database.

Fifth, the following window is open. You need to (1) enter the schema name, (2) change the character set and collation if necessary, and click the Apply button:

Sixth, MySQL Workbench opens the following window that displays the SQL script which will be executed. Note that the statement command has the same effect as the statement.

If everything is fine, you will see the new database created and showed in the schemas tab of the Navigator section.

Seventh, to select the database, (1) right click the database name and (2) choose Set as Default Schema menu item:

The node is open as shown in the following screenshot.

Now, you can work with from the MySQL Workbench.

In this tutorial, you have learned how to create a new database from mysql program using the MySQL statement and from MySQL Workbench using the statement.

  • Was this tutorial helpful?

Предоставление пользователю различных прав

Ниже представлен короткий список других часто используемых прав, которые могут предоставляться пользователям.

  • ALL PRIVILEGES — как мы уже увидели ранее, данный набор прав предоставляет пользователю MySQL полный доступ к определенной базе данных (если не выбрана ни одна база данных, предоставляется глобальный доступ к системе)
  • CREATE — позволяет пользователю создавать новые таблицы или базы данных
  • DROP — позволяет пользователю удалять таблицы или базы данных
  • DELETE — позволяет пользователю удалять строки из таблиц
  • INSERT — позволяет пользователю вставлять строки в таблицы
  • SELECT — позволяет пользователю выполнять команду для чтения данных из базы
  • UPDATE — позволяет пользователю обновлять строки таблицы
  • GRANT OPTION — позволяет пользователю предоставлять или отзывать права других пользователей

Чтобы предоставить конкретному пользователю какое-либо право, вы можете использовать следующую структуру команды:

Если вы хотите предоставить пользователю доступ к любой базе данных или любой таблице, необходимо поместить звездочку (*) на место имени базы данных или имени таблицы.

При каждом обновлении или изменении права необходимо использовать команду сброса привилегий.

Если вам требуется отозвать какое-либо право, структура команды будет практически идентична структуре команды, используемой для предоставления права:

Обратите внимание, что при отзыве прав синтаксис требует использования элемента вместо элемента , который мы использовали при предоставлении прав. Вы можете просмотреть текущие права пользователя с помощью следующей команды:

Вы можете просмотреть текущие права пользователя с помощью следующей команды:

Так же как вы можете удалять базы данных с помощью DROP, вы можете использовать DROP для полного удаления пользователя:

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

а затем войдите снова, введя следующую команду в терминале:

Начало работы с MySQL

Введение

MySQL — это популярный сервер баз данных, используемый в разных приложениях. SQL означает язык структурированных запросов — (S)tructured (Q)uery (L)anguage, который MySQL использует для коммуникации с другими программами. Сверх того, MySQL имеет свои собственные расширенные функции SQL для того чтобы обеспечить пользователям дополнительный функционал. В этом документе мы рассмотрим как провести первоначальную установку MySQL, настроить базы данных и таблицы, и создать новых пользователей. Давайте начнем с установки.

Установка MySQL

Сначала убедитесь что MySQL установлен на вашу систему. В случае если вам требуется определенная функциональность MySQL, убедитесь, что установлены необходимые USE-флаги, так как они помогут в тонкой настройке инсталляции.

По завершении установки, вы увидите следующее уведомление:

Код Сообщение einfo MySQL

You might want to run:
"emerge --config =dev-db/mysql-"
if this is a new install.

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

 * MySQL DATADIR is /var/lib/mysql
 * Press ENTER to create the mysql database and set proper
 * permissions on it, or Control-C to abort now...
 
   Preparing db table
   Preparing host table
   Preparing user table
   Preparing func table
   Preparing tables_priv table
   Preparing columns_priv table
   Installing all prepared tables
 
   To start mysqld at boot time you have to copy support-files/mysql.server
   to the right place for your system
 
   PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
   To do so, issue the following commands to start the server
   and change the applicable passwords:
 
   /etc/init.d/mysql start
   /usr/bin/mysqladmin -u root -h pegasos password 'new-password'
   /usr/bin/mysqladmin -u root password 'new-password'
   Depending on your configuration, a -p option may be needed
   in the last command. See the manual for more details.

ЗаметкаЕсли предыдущая команда не выполнится из-за того, что имя хоста установлено в localhost, измените его на другое имя, например gentoo. Обновите файл /etc/conf.d/hostname и перезапустите /etc/init.d/hostname.

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

ВажноНачиная с mysql-4.0.24-r2, пароли вводятся во время этапа конфигурации, что делает пароль root более надежным.

Сценарий конфигурации уже вывел команды, которые нам нужно запустить, чтобы настроить наш пароль, поэтому нам сейчас надо их выполнить.

Если вы используете OpenRC, выполните данную команду:

 * Re-caching dependency info (mtimes differ)...
 * Starting mysqld (/etc/mysql/my.cnf) ...        

Если вы используете systemd, вместо этого используйте следующую команду:

После этого установите пароль root:

Теперь вы можете проверить, что пароль root был успешно настроен, попытавшись войти на MySQL-сервер:

Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 4.0.25
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql>

Параметр указывает пользователя, который будет выполнять вход. Параметр указывает хост. Обычно это будет , если только вы не настраиваете удаленный сервер. И, наконец, сообщает клиенту mysql что вы будете вводить пароль для доступа к базе данных

Обратите внимание на приглашение. Это то место, где вы будете вводить все ваши команды

Теперь, когда мы в командной строке mysql в качестве пользователя root, мы можем начать настраивать нашу базу данных.

ВажноУстановка mysql по умолчанию приемлема для систем разработки. Для более безопасных значений по умолчанию можно запустить /usr/bin/mysql_secure_installation

Создание нового пользователя в MySQL

Ранее мы вносили все изменения в настройки MySQL под root-пользователем, имея полный доступ ко всем
базам данных. Однако для случаев, когда могут потребоваться более жесткие ограничения, есть способы
создания пользователей с особыми наборами прав доступа.

Давайте начнем с создания нового пользователя из консоли MySQL:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

К сожалению, на данном этапе пользователь «newuser» не имеет прав делать что-либо с базами данных. На
самом деле, даже если если пользователь «newuser» попробует залогиниться (с паролем «password»), он
не попадет в консоль MySQL.

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

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';

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

Поле завершения настройки прав доступа новых пользователей, убедитесь, что вы обновили все права
доступа:

FLUSH PRIVILEGES;
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector