MySQL потребителски права на споделен хостинг

Помощен център

MySQL потребителски права на споделен хостинг

MySQL общи привилегии

Привилегиите, предоставени на MySQL акаунт, определят кои операции може да бъдат изпълнени от акаунта. Привилегиите за MySQL се различават както в контекста, в който се прилагат, така и поради различните нива на приложение:

  • Административни права - позволяват на потребителите да управляват работата на MySQL сървъра. Тези привилегии са глобални защото не са специфични за конкретна база данни.

  • Правата на база данни - отнасят се за база данни и за всички обекти в нея. Тези права могат да се предоставят за конкретни бази данни или глобално на сървъра, така че да се прилагат към всички бази данни.

  • Привилегии на обекти в база данни - привилегии на таблици, индекси, изгледи и съхранени процедури могат да се предоставят за конкретни обекти в база данни или за всички обекти от даден тип в рамките на една база данни (например, всички таблици в база данни), или глобално за всички обекти от даден тип във всички бази данни.

Информацията за привилегии на акаунт се съхранява в таблиците user, db, tables_priv, columns_priv и procs_priv в системната база данни mysql. MySQL сървърът чете съдържанието на тези таблици в паметта и ги презарежда когато стартира.

Привилегии на MySQL потребители на споделен хостинг

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

По-долу публикуваме кратка информация за всички привилегии, които ICN.bg предоставя на MySQL потребителите:

(Бележка: изписването на MySQL команди и изявления с главни букви е практика, използвана от разработчиците на MySQL в официалната документация https://dev.mysql.com, поради което използваме този синтаксис).

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 позволява обновяването на редове в таблици в база данни.