.pgpassに相当するMySQL、またはmySQLのcronジョブでの自動認証


8

データベースをバックアップするbashスクリプトを書いています。ほとんどはpostgresqlであり、postgresには、postgresパスワードを含む〜/ .pgpassファイルを作成することで認証を回避する方法があります。これをルートのホームディレクトリに置き、chmod 0600にしたので、ルートは認証なしでpostgresデータベースをダンプできます。mysqlデータベースは1つしかありませんが、mysqlについても同様の処理を行います。これどうやってするの?mysqldumpのコマンドラインでパスワードを指定したくありません。これは、他のユーザーには多少見える可能性があるスクリプトの一部であるためです。これを行うには、rootだけが読み取り、次に読み取ってmysqlパスワードを取得できるファイルを作成し、それをbashスクリプトで変数として使用するよりも良い方法(つまり、mysqlに組み込まれている)がありますか?


:うーん、不思議なことに、私はGoogleのではなくserverfaultの独自の検索を通じて有望な何か見つけstackoverflow.com/questions/601995/...
イブラヒム



うんうん、どうやら私の検索フーは欠けている。
イブラヒム

回答:


6

~/.my.cnfmysqlを実行しているユーザーのファイルを作成します。次のものが含まれている必要があります。

[client]
user = root
password = yourpassword

追加すると思いますが、sudoを使用してスクリプトを実行する場合は、-Hを使用して、ルートのホームディレクトリを使用する必要があります。しかし、問題はルートcronジョブの問題ではないはずだと思いますよね?
イブラヒム

3
しかし、それは複数のアカウントでどのように処理されますか?これはlocalhostでも機能しますが、リモートサーバーのログインを保存するにはどうすればよいですか?
セリン14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.