MySQL общи привилегии
Привилегиите, предоставени на MySQL потребител, определят кои операции може да бъдат изпълнени от потребителя. Привилегиите за MySQL се различават както в контекста, в който се прилагат, така и поради различните нива на приложение:
- Административни права – позволяват на потребителите да управляват работата на MySQL сървъра. Тези привилегии са глобални защото не са специфични за конкретна база данни.
- Права на база данни – отнасят се за база данни и за всички обекти в нея. Тези права могат да се предоставят за конкретни бази данни или глобално на сървъра, така че да се прилагат към всички бази данни.
- Привилегии на обекти в база данни – привилегии на таблици, индекси, изгледи и съхранени процедури могат да се предоставят за конкретни обекти в база данни или за всички обекти от даден тип в рамките на една база данни (например, всички таблици в база данни), или глобално за всички обекти от даден тип във всички бази данни.
Информацията за привилегии на акаунт се съхранява в таблиците user
, db
, tables_priv
, columns_priv
и procs_priv
в системната база данни mysql. MySQL сървърът чете съдържанието на тези таблици в паметта и ги презарежда когато стартира.
Привилегии на MySQL потребители на споделен хостинг
От съображения за сигурност потребителските MySQL акаунти на споделен хостинг не получават привилегии на MySQL суперпотребител, а само привилегии в база данни и нейните обекти.
По-долу публикуваме кратка информация за всички привилегии, които СуперХостинг.БГ предоставя на MySQL потребителите:
ALTER
Привилегията ALTER позволява използването на израза ALTER TABLE за промяна на структурата на таблиците. ALTER TABLE също така изисква CREATE и INSERT привилегии. Преименуването на таблица изисква ALTER и DROP привилегии на старата таблица, както и CREATE и INSERT привилегии на новата таблица.
ALTER ROUTINE
Привилегията ALTER ROUTINE е необходима, за да се променят или премахнат съхранените рутинни процедури (процедури и функции).
CREATE
Привилегията CREATE дава възможност за създаване на нови таблици.
CREATE ROUTINE
Привилегията CREATE ROUTINE е необходима за създаване на съхранени рутинни процедури (процедури и функции).
CREATE TEMPORARY TABLES
Привилегията дава възможност за създаване на временни таблици с помощта на инструмента CREATE TEMPORARY TABLE. След като сесията създаде временна таблица, сървърът не извършва допълнителни проверки на правата на таблицата. Създаващата сесия може да изпълнява всяка от следните операции в таблицата: DROP TABLE, INSERT, UPDATE или SELECT.
CREATE VIEW
Привилегията позволява използването на израза CREATE VIEW, който създава нов изглед или замества съществуващ изглед, ако е налична клаузата OR REPLACE. Ако изгледът не съществува, CREATE OR REPLACE VIEW е същият като CREATE VIEW. Ако изгледът съществува, CREATE или REPLACE VIEW го замества.
DELETE
Привилегията DELETE позволява да се изтриват редове от таблици в база данни.
DROP
Привилегията DROP Ви позволява да премахвате съществуващи таблици и изгледи. Привилегията DROP се изисква, за да може да се използва изразът ALTER TABLE … DROP PARTITION за разделена таблица. DROP привилегия също се изисква за TRUNCATE TABLE (премахване съдържанието на таблица без да се премахва самата таблица).
EVENT
Привилегията EVENT е необходима за създаване, промяна или стартиране на събития за Event Scheduler.
EXECUTE
Привилегията EXECUTE се изисква за изпълнение на съхранени рутинни процедури (процедури и функции).
INDEX
Привилегията INDEX позволява да се създават или премахват индекси. INDEX се отнася за съществуващи таблици. Ако имате CREATE привилегия за таблица, можете да включите дефиниции на индекси в израза CREATE TABLE.
INSERT
Привилегията INSERT дава възможност за вмъкване на редове в таблици в база данни. INSERT привилегия също се изисква за изпълнение на командите за поддръжка на таблици ANALYZE TABLE, OPTIMIZE TABLE и REPAIR TABLE.
LOCK TABLES
Привилегията дава възможност за използване на изрични изрази на LOCK TABLES за заключване на таблици, за които имате привилегия SELECT. Това включва заключване на таблицата за писане, което не позволява на други сесии да четат заключената таблица.
REFERENCES
Създаването на ограничение за чужд ключ изисква привилегия REFERENCES за таблицата.
SELECT
Привилегията SELECT позволява да избирате редове от таблици в база данни. Изразите SELECT изискват привилегията SELECT само ако те всъщност извличат редове от таблица. Някои изрази SELECT нямат достъп до таблици и могат да бъдат изпълнявани без разрешение за всяка база данни.
SHOW VIEW
Привилегията SHOW VIEW позволява използването на израза SHOW CREATE VIEW. Тази привилегия е необходима и за използването на изгледи с EXPLAIN.
TRIGGER
Привилегията TRIGGER дава възможност за стартиране на операции. Трябва да имате тази привилегия за таблица, за да създавате, премахвате, изпълнявате или показвате тригери за тази таблица.
UPDATE
Привилегията UPDATE позволява обновяването на редове в таблици в база данни.
Привилегиите за MySQL потребителя се задават при добавянето му към определена база данни: 🔗 Как да създам и ползвам MySQL база данни в моя хостинг акаунт? | Help