Користувач в MySql
Створюємо користувача з ім’ям dimasik.
Create user dimasik
На даному етапі користувач "dimasik" не має прав робити що-небудь з базами даних. Насправді, навіть якщо якщо користувач "dimasik" спробує залогінитися (з паролем "1234"), він не потрапить в консоль MySQL.
Таким чином, перше, що нам необхідно зробити, це надати користувачеві доступ до інформації, яка йому буде потрібно.
Grant all Privileges on *.* to dimasik
Зірочки в цій команді задають базу і таблицю, відповідно, до яких у користувача буде доступ. Саме ця команда дозволяє користувачеві читати, редагувати, виконувати будь-які дії над усіма базами даних і таблицями.
Післе завершення налаштування прав доступу нових користувачів, переконаймося, що оновили всі права доступу:
Flush Privileges
Користувач може отримати такі права доступу:
ALL PRIVILEGES - як ми бачили раніше, це дасть користувачеві MySQL повний доступ до заданої базі даних (якщо база даних не вказана, то до всіх).
CREATE - дозволяє створювати нові таблиці або бази даних.
DROP - дозволяє видаляти таблиці або бази даних.
DELETE - дозволяє видаляти рядки з таблиць.
INSERT - дозволяє додавати рядки в таблицю.
SELECT - дозволяє використовувати команду Select для читання з баз даних.
UPDATE - дозволяє редагувати рядки таблиць.
GRANT OPTION - дозволяє призначати або видаляти права доступу для інших користувачів.
Для призначення прав конкретному користувачеві можна використовувати наступну схему:
Grant [тип прав] On [назва бази данних ].[назва таблиці] to [ім’я користувача]
Позбавлення прав доступу практично ідентично їх наданню:
Revoke[тип прав]on [назва бази данних].[назва таблиці] from[ім’я користувача]
Позбавляємо всіх прав доступу користувача dimasik
Revoke all privileges on *.* from dimasik;
Надамо користувачу dimasik права на редагування та додавання рядків до таблиці robitnyk бази данних mashzavod.
Grant update,insert on mashzavod.robitnyk to dimasik;
Потім надамо користувачу dimasik права на перегляд таблиці klient бази данних mashzavod.
Grant select,drop on mashzavod.klient to dimasik;
Позбавляєм користувача dimasik права на видалення таблиці klient бази данних mashzavod
Revoke drop on mashzavod.klient from dimasik;
Переглядаєм права доступа користувача dimasik
Show grants from dimasik;
Видаляєм користувача dimasik
Drop user dimasik;
Транзакції
Транзакція - група логічно пов'язаних операторів SQL, результати яких можуть бути зафіксовані або скасовані як єдине ціле.
Використовується для багатокористувацьких баз даних. Тобто при мережевих запитах до неї.
.
Створюємо транзакцію за допомогою команди start transaction та commit
Перевіряєм правильність виконання транзакції
Створюємо ще одну транзакцію
Перевіряєм правильність виконання другої транзакції
Створюємо ще одну транзакцію ,в якій за допомогою команди rollback робимо відкат даної транзакції.
Використовуємо команду аutocommit та задаєм значення 1
За допомогою команди commit підтверджуємо дії транзакції. Після цього командою set autocommit=0 і таким чином повертаємо значення по замовчуванню.
За допомого команди locktables блокуєм таблицю klient
Перевіряєм блокування
Знімаєм блокування за допомогою команди unlocktables.
