Управление правами доступа пользователей MySQL

MySQLBeginner
Практиковаться сейчас

Введение

В этом проекте вы научитесь управлять правами доступа пользователей в базе данных MySQL. В частности, вы создадите нового локального пользователя по имени "Rong" и предоставите ему доступ к базе данных performance_schema.

👀 Предварительный просмотр

MariaDB [(none)]> SHOW GRANTS FOR Rong@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for Rong@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `Rong`@`localhost` IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT ON `performance_schema`.* TO `Rong`@`localhost`                                                |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)

🎯 Задачи

В этом проекте вы научитесь:

  • Как запустить сервер MySQL и войти в терминал MySQL
  • Как создать нового локального пользователя с заданным паролем
  • Как предоставить пользователю доступ к определенной базе данных и ее таблицам

🏆 Достижения

После завершения этого проекта вы сможете:

  • Управлять учетными записями пользователей и правами доступа в базе данных MySQL
  • Разбираться в процессе предоставления и отзыва доступа к базе данных для пользователей
  • Применить эти навыки для настройки прав доступа пользователей в своих собственных приложениях, основанных на MySQL

Запустить MySQL и войти

В этом шаге вы научитесь запускать сервер MySQL и входить в терминал MySQL.

  1. Откройте терминал на вашей системе.

  2. Запустите следующую команду для запуска службы MySQL:

    sudo /etc/init.d/mysql start
    
  3. Войдите в терминал MySQL:

    mysql -uroot
    

    Теперь вы должны находиться в терминале MySQL, где можно вводить команды MySQL.

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

В этом шаге вы научитесь создавать нового локального пользователя по имени "Rong" с паролем "123456".

  1. Создайте файл manUser.sql в директории ~/project.

  2. Добавьте в файл следующий код для создания пользователя:

    CREATE USER 'Rong'@'localhost' IDENTIFIED BY '123456';
    

    Это создает нового пользователя по имени "Rong" с паролем "123456" и позволяет пользователю входить с локальной машины (localhost).

Предоставить доступ к Performance_schema

В этом шаге вы научитесь предоставлять пользователю "Rong" доступ к базе данных performance_schema.

  1. Откройте файл manUser.sql.

  2. Предоставьте необходимые права после кода, добавленного на предыдущем шаге:

    GRANT SELECT ON performance_schema.* TO 'Rong'@'localhost';
    

    Это предоставляет пользователю "Rong" право на выборку по всем таблицам в базе данных performance_schema.

  3. Наконец, сбросьте привилегии и примените изменения:

    FLUSH PRIVILEGES;
    

Проверить решение

  1. Запустите SQL-скрипт в MySQL-подсказке:
SOURCE /home/labex/project/manUser.sql;
  1. Проверьте результаты, выполнив следующую команду в терминале MySQL:
SHOW GRANTS FOR Rong@localhost;

В этом случае должны быть отображены права доступа для пользователя "Rong", включая право на выборку в базе данных performance_schema.

MariaDB [(none)]> SHOW GRANTS FOR Rong@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for Rong@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `Rong`@`localhost` IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT ON `performance_schema`.* TO `Rong`@`localhost`                                                |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)

Резюме

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

✨ Проверить решение и практиковаться✨ Проверить решение и практиковаться✨ Проверить решение и практиковаться✨ Проверить решение и практиковаться