GNU/Linux >> Linux の 問題 >  >> Linux

debian-sys-maint MySQL ユーザー (およびその他) とは?

解決策 1:

<ブロック引用>

debian-sys-maint は何に使用されますか?

これが使用される主な目的の 1 つは、サーバーにログをロールするように指示することです。少なくともリロードとシャットダウンの権限が必要です。

ファイル /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 サーバーのすべての管理者権限を失った場合は、ガイドに従ってルート パスワードをリセットし、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 を参照)。

解決策 2:

debian-sys-maint ユーザーはデフォルトでrootと同等です .これは、Debian システムの特定のメンテナンス スクリプトで使用され、副作用として、ボックスで root アクセス権を持つユーザーが /etc/mysql/debian.cnf の平文パスワードを表示できるようにします (良いか悪いか?)

次の方法でユーザーを再作成できます:

GRANT ALL PRIVILEGES on *.* TO `debian-sys-maint`@`localhost` IDENTIFIED BY 'your password' WITH GRANT OPTION;

パスワードが一致していることを確認してください /etc/mysql/debian.cnf にあります

解決策 3:

次のこともできます:

sudo dpkg-reconfigure mysql-server-5.0

これにより、debian-sys-maint ユーザーを再作成するオプションが提供されます。既存のユーザーとデータベースは安全です。

解決策 4:

コメントしたかったのですが、正しい構文だと思います 独自のエントリに値します。これにより、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 ファイルがまだある場合は、そこにあるパスワードを使用してください。

もっとパラノイアを考えてみてください 安全なソリューション

解決策 5:

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 アップデート

この回答は古くなっている可能性があります -- 以下の強い意見のコメントをご覧ください。


Linux
  1. 「mysql.sys@localhost」ユーザーの目的は何ですか

  2. MySQL レプリケーションにおける「システム ユーザー」の目的は何ですか

  3. 画面のデフォルトのパスワードは何ですか?

  1. InnoDBとMyISAMの違いは何ですか?

  2. debian-+ ユーザーとは?

  3. ルートとIPルートの違いは何ですか?

  1. トップ20のシステム管理者ガイドとチュートリアル

  2. MySQLユーザーとデータベースの基本

  3. mysql ルート パスワードを変更する方法