Я использую MagicDisc от MagicISO помимо его свободного, он работает над Vista X64
Править: Хорошо, да также Виртуальный Диск Клона является классным инструментом, я использовал его, когда я был на x86, но в то время, когда я внес изменение, он не поддерживал x64, и теперь он делает...
Для чего используется debian-sys-maint?
Одна главная вещь, для которой это используется, говорит серверу прокручивать журналы. Этому нужны, по крайней мере, перезагрузка и полномочие завершения работы.
Посмотрите файл/etc/logrotate.d/mysql-server
Это используется /etc/init.d/mysql
сценарий для получения состояния сервера. Это используется для корректного завершения работу/перезагружения сервера.
Вот кавычка от README.Debian
* MYSQL WON'T START OR STOP?:
=============================
You may never ever delete the special mysql user "debian-sys-maint". This user
together with the credentials in /etc/mysql/debian.cnf are used by the init
scripts to stop the server as they would require knowledge of the mysql root
users password else.
Что самый легкий путь состоит в том, чтобы восстановить его после того, как я потерял его?
Лучший план не состоит в том, чтобы просто потерять его. Если Вы действительно теряете пароль, сбрасываете его, с помощью другой учетной записи. Если Вы проиграли, все административные привилегии на mysql сервере следуют руководствам, чтобы изменить пароль root, затем восстановить debian-sys-maint
.
Вы могли использовать команду как это для создания файла SQL, который можно использовать позже для воссоздания учетной записи.
mysqldump --complete-insert --extended-insert=0 -u root -p mysql | grep 'debian-sys-maint' > debian_user.sql
Пароль в/etc/mysql/debian.cnf, уже хешированном
Пароль не хешируется/шифруется при установке но новые версии mysql теперь имеют способ зашифровать учетные данные (см.: https://serverfault.com/a/750363).
debian-sys-maint пользователь является по умолчанию корневым эквивалентом. Это используется определенными сценариями обслуживания в системах Debian, и как побочный эффект, позволяет пользователям с корневым доступом на поле просматривать незашифрованный пароль в/etc/mysql/debian.cnf (хороший или плохой?)
Можно воссоздать пользователя:
GRANT ALL PRIVILEGES on *.* TO `debian-sys-maint`@`localhost` IDENTIFIED BY 'your password' WITH GRANT OPTION;
Просто удостоверьтесь соответствия пароля это в/etc/mysql/debian.cnf
Как примечание стороны к этому, смотрите на это сообщение mysqlperformanceblog по причинам, почему Вы могли бы хотеть отключить debian-определенный материал.
Вы могли также:
sudo dpkg-reconfigure mysql-server-5.0
Который даст Вам опцию воссоздать debian-sys-maint пользователя. Существующие пользователи и базы данных в безопасности.
Вместо
GRANT ALL PRIVILEGES on *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY PASSWORD('your password') WITH GRANT OPTION; FLUSH PRIVILEGES;
Я думаю
GRANT ALL PRIVILEGES on *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'your password' WITH GRANT OPTION; FLUSH PRIVILEGES;
потому что пароль не хешируется...?
Я хотел просто прокомментировать, но считаю, что правильный синтаксис заслуживает отдельной записи. Это создаст пользователя debian-sys-maint :
mysql> GRANT ALL PRIVILEGES on *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'plaintextpassword' WITH GRANT OPTION; FLUSH PRIVILEGES;
Если у вас все еще есть файл /etc/mysql/debian.cnf, просто используйте там пароль.
Не стесняйтесь подойти. с более параноидальным безопасным решением.
Если вам нужно добавить пользователя debian-sys-maint
только для целей logrotate.d
, вы должны не предоставить ALL PRIVILEGES
или GRANT OPTION
- это ненужная гигантская дыра в безопасности. Вместо этого вы можете просто добавить пользователя с привилегией RELOAD
, как это (при условии, что вы получаете доступ к своей базе данных как root
, и вы заменяете xxxxxx своим паролем)
# add the user with the reload right
GRANT RELOAD on *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'xxxxxx';
# reload the rights
FLUSH PRIVILEGES;
# double check
select * from mysql.user;
Обновление 2019
Этот ответ может быть устаревшим - см. Категорические комментарии ниже.
При использовании MySQL 5.6+ я бы рекомендовал использовать команду mysql_config_editor
, чтобы создать запись для пользователя 'debian-sys-maint' @ 'localhost'
с использованием соответствующего пароля, что означает, что пароль не нужно хранить в виде обычного текста на сервере.
mysql_config_editor set --login-path = debian-sys-maint --host = localhost --user = debian -sys-maint --password
После этого можно изменить специальный конфигурационный файл Debian /etc/mysql/debian.cnf
, чтобы имя пользователя и пароль не сохранялись в файле.
Наконец, измените файл logrotate для MySQL так, чтобы он использовал данные для входа, хранящиеся в файле ~ / .mylogin.cnf
, вместо файла, специфичного для debian, заменив
/ usr / bin / mysqladmin - -defaults-file = / etc / mysql / debian.cnf
с
/ usr / bin / mysqladmin --login-path = debian-sys-maint
Надеюсь, это поможет :)
Дэйв
Другие ответы в достаточной степени касались всего, кроме минимального набора разрешений, необходимых для пользователя debian-sys-maint. Многие ответы здесь просто неверны в этом отношении и даже опасны. Не уменьшайте права debian-sys-maint (включая параметр предоставления), не прочитав и не поняв ниже:
Сопровождающий Debian не предоставил пользователю все привилегии по прихоти. Вот что требуется, где и почему. Некоторые из этих привилегий являются надмножествами других, но я перечислю их отдельно на тот случай, если вы захотите что-то настроить и удалить для них требование:
Последняя, конечно же, является основным требованием для привилегий. На странице руководства для mysql_upgrade указано, что:
mysql_upgrade проверяет все таблицы во всех базах данных на наличие несовместимости с текущей версией MySQL Server. mysql_upgrade также обновляет системные таблицы, чтобы вы могли преимущество новых привилегий или возможностей, которые могли быть добавлено.
Если mysql_upgrade обнаруживает, что таблица имеет возможную несовместимость, она выполняет проверку таблицы и, если обнаружены проблемы, пытается таблицу ремонт.
ПРЕДУПРЕЖДЕНИЕ Если вы решите сократить привилегии, которые имеет debian-sys-maint, убедитесь, что вы готовы вручную обрабатывать любые будущие обновления безопасности debian и / или обновления, касающиеся MySQL. Если вы выполняете обновление пакетов MySQL с ограниченными правами debian-sys-maint,и если mysql_upgrade не может завершиться в результате, он может оставить вашу базу данных в неопределенном состоянии (чтение прервано). Снижение привилегий может не иметь очевидных повседневных проблем до тех пор, пока не появится обновление, поэтому не следует полагаться на тот факт, что вы уже снизили привилегии без каких-либо вредных последствий, как на основание для того, чтобы думать, что это безопасно.