Я пытаюсь обновить свою устаревшую базу данных MariaDB 10.3 и выполнил шаги руководства по удалению старой версии, установке новой версии (10.6) и копированию необходимых данных и INI-файлов в новую папку; Копирование папки «data» из предыдущей установочной папки 10.3 в новую установочную папку 10.6. Впоследствии новый экземпляр MariaDB не сможет получить доступ к этой папке данных из-за разрешений для папки.
Проверяя различия между скопированными разрешениями на папку «данные» и исходной папкой «данные», созданной при установке 10.6, я обнаружил, что в списке групп и имен пользователей есть запись, указанная как «MariaDB». Странно то, что я не могу найти, не говоря уже о том, чтобы добавить этого пользователя/группу в папку «данные», которую я копирую из своего старого местоположения 10.3.
Что это за группа пользователей Windows? Я не могу найти какую-либо документацию от MariaDB или какие-либо руководства, где найти или добавить эту группу пользователей. Единственное упоминание, которое я нашел об этом, находится в https://stackoverflow.com/a/69981074/9162516
... этот «групповой пользователь» не создается под «пользователями и группами» Windows. Таким образом, вы не можете добавить эту группу на вкладку безопасности и установить разрешение на другая папка.
Какого черта? Как я должен назначить разрешения для папки данных из более старой версии или если я хочу скопировать папку из внешнего источника, для которого еще не установлено это разрешение группы пользователей для этой папки и ее содержимого?
Результаты поиска Google присылают мне несвязанные руководства по созданию учетных записей пользователей базы данных MariaDB.
Я не знаю, какие «шаги руководства» вы имеете в виду. Если вы устанавливаете пакет MSI последней версии MariaDB, он обнаружит более старую установку и выполнит обновление.
Я использовал официальные руководства по обновлению , которые, как я позже обнаружил, предназначались только для инстансов Linux. Только когда я добрался до этого руководства: Обновление MariaDB в Windows, появилось примечание: «Важно: игнорируйте любые утверждения, которые говорят вам «просто удалите MySQL и установите MariaDB»....». Огромная документация не работает! Это не решает проблему, если я хочу скопировать в папку данных из внешнего источника. Как мне добавить группу пользователей "MariaDB" в такую папку?
А как вы установили сервер MariaDB? Используя установщик .msi, загружая и извлекая двоичный пакет или из исходного кода?
Скачайте и запустите установщик MSI с официального сайта. С тех пор я переустановил старую версию и повторно запустил новую версию установщика, не удаляя старую версию, и она отлично обновила службу Windows БД и расположение папки. Но если мне потребуется внести резервную копию папки данных из другого места без разрешений или, коснувшись дерева, случайно удалить папку данных, как мне восстановить разрешения группы пользователей для недобавляемой группы пользователей?
В Windows нет пользователя или группы MariaDB и никогда не было. Служба работает под так называемой служебной учетной записью пользователя NT SERVICE\servicename, в 10.6. Служба работает под «NETWORK SERVICE» в более старых версиях.
(Проверить несложно, Запустите services.msc => найдите название вашей службы => справа «Свойства» => Войти)
Тому пользователю, который запускает сервис, нужен полный доступ к файлам в каталоге данных. Как вы предоставляете разрешения, либо с помощью инструментов командной строки, таких как icacls, либо щелкнув в проводнике, зависит от вас.
Теперь, если вы не удалили каталог данных в 10.6, а просто скопировали содержимое вашего старого каталога данных, все было бы в порядке. Это потому, что в Windows разрешения наследуются от родительского каталога, и они уже были правильными.