Администрирование и безопасность MySQL
Создание и удаление пользователей Под учетной записью пользователя MySQL подразумевается строка в таблице user (Пользователь) системной базы данных mysql. Чтобы создать учетную запись пользователя, выполните команду CREATE USER [IDENTIFIED BY [PASSWORD] ' ']; Например, команда CREATE USER 'anna' IDENTIFIED BY 'annapassword'; создает учетную запись для пользователя с именем anna, подключающегося с любого компьютера, и устанавливает для этой учетной записи пароль annapassword. Удалить учетную запись вы можете с помощью команды DROP USER ;
Установка пароля Для установки пароля предназначена команда SET PASSWORD [FOR ] = PASSWORD(' '); Параметрами этой команды являются идентификатор учетной записи пользователя и новый пароль для этой записи. Если вы не укажете идентификатор пользователя, то измените свой пароль. Функция PASSWORD() зашифровывает реальный пароль. Пример: команда SET PASSWORD FOR = PASSWORD('newannapassword'); устанавливает пароль newannapassword для пользователя anna, подключающегося с любого компьютера.
Просмотр пользователей Для получения информации о зарегистрированных пользователях выполним запрос к таблице user (Пользователь) системной базы данных mysql, например SELECT * FROM mysql.user; Первые три столбца таблицы – это Host, User и Password. Далее следуют столбцы глобальных привилегий, которые мы рассмотрим в разделе «Система привилегий доступа», и, наконец, столбцы, в которых содержатся параметры безопасности соединения и сведения о ресурсах, предоставляемых соединению.
Система привилегий доступа Создание привилегии доступа в MySQL подразумевает определение следующих параметров: идентификатор учетной записи пользователя, которому предоставляется привилегия; тип привилегии, то есть тип операций, которые будут разрешены пользователю; область действия привилегии. Областью действия привилегии могут быть: все базы данных (такие привилегии называются глобальными); отдельная база данных; таблица; столбец таблицы.
Система привилегий доступа В MySQL используются следующие основные типы привилегий: ALL [PRIVILEGES] – предоставляет все привилегии, кроме GRANT OPTION, для указанной области действия; ALTER – разрешает выполнение команд ALTER DATABASE и ALTER TABLE; CREATE – разрешает выполнение команд CREATE DATABASE и CREATE TABLE; CREATE USER – разрешает выполнение команд CREATE USER, DROP USER, RENAME USER; DELETE – разрешает выполнение команды DELETE; DROP – разрешает выполнение команд DROP DATABASE и DROP TABLE; FILE – разрешает чтение и создание файлов на сервере с помощью команд SELECT… INTO OUTFILE и LOAD DATA INFILE; INDEX – разрешает выполнение команд CREATE INDEX и DROP INDEX; INSERT – разрешает выполнение команды INSERT;
Система привилегий доступа SELECT – разрешает выполнение команды SELECT; LOCK TABLES – разрешает выполнение команды LOCK TABLES при наличии привилегии SELECT для блокируемых таблиц; SHOW DATABASES – разрешает отображение всех баз данных при выполнении команды SHOW DATABASES (если эта привилегия отсутствует, то в списке будут отображены только те базы данных, по отношению к которым у пользователя есть какая-либо привилегия); RELOAD – разрешает выполнение команды FLUSH; SUPER – привилегия администратора сервера; в частности, разрешает выполнение команды SET GLOBAL; UPDATE – разрешает выполнение команды UPDATE; GRANT OPTION – разрешает назначать и отменять привилегии другим пользователям (эта возможность распространяется только на те привилегии, которые есть у самого пользователя для указанной области действия).
Управление привилегиями в dbForge Studio for mySQL
Предоставление привилегий Для предоставления привилегий пользователям используется команда GRANT [( )] ON TO [WITH GRANT OPTION]; В качестве области действия вы можете указать одно из следующих значений: *.* – привилегия будет действовать глобально;.* – привилегия будет действовать для указанной базы данных; * – привилегия будет действовать для базы данных, которая в момент выполнения команды GRANT являлась текущей;. или – привилегия будет действовать для указанной таблицы (если имя базы данных не указано, подразумевается текущая база данных). Если требуется создать привилегию не для всей таблицы, а только для отдельных столбцов, необходимо перечислить эти столбцы в скобках перед ключевым словом ON.
Предоставление привилегий Рассмотрим несколько примеров. GRANT CREATE ON *.* TO Команда предоставляет пользователю привилегию на создание баз данных и таблиц в любой базе данных. GRANT DROP ON SalesDept.* TO Команда предоставляет пользователю привилегию на удаление таблиц в базе данных SalesDept (Отдел продаж), а также на удаление самой базы данных SalesDept. GRANT SELECT ON SalesDept.Products TO Команда предоставляет пользователю привилегию на получение данных из таблицы Products (Товары) базы данных SalesDept (Отдел продаж). GRANT UPDATE (price) ON SalesDept.Products TO Команда предоставляет пользователю привилегию на изменение данных в столбце price (цена) таблицы Products (Товары).
Отмена привилегий Чтобы удалить привилегию, ранее назначенную пользователю, используется команда REVOKE [( )] ON FROM ; Например,: REVOKE CREATE ON *.* FROM Команда отменяет глобальную привилегию пользователя разрешавшую создание баз данных и таблиц. REVOKE DROP ON SalesDept.* FROM Команда отменяет привилегию пользователя на удаление базы данных SalesDept (Отдел продаж) и таблиц в этой базе данных. REVOKE SELECT ON SalesDept.Products FROM Команда отменяет привилегию пользователя на получение данных из таблицы Products (Товары) базы данных SalesDept. REVOKE UPDATE (price) ON SalesDept.Products FROM Команда отменяет привилегию пользователя на изменение данных в столбце price (цена) таблицы Products (Товары).
Резервное копирование базы данных в dbforge Studio for mySQL
Восстановление базы данных в dbforge Studio for mySQL
Миграция данных в dbforge Studio for mySQL
Экспорт данных в dbforge Studio for mySQL
Импорт данных в dbforge Studio for mySQL