2017-01-07 3 views
0

を取り除くために、ここで-versionです:
mysql Ver 15.1 Distrib 10.0.28-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2MariaDBできないが、私はちょうどそれにMariaDBをVPSを購入し、インストールし、空白のパスワード

ので、ここでのことです。私はMySQL接続のためにrootユーザパスワードを変更したいと思います。 インターネット上のほぼすべてのガイドを試しましたが、ルートまたはパスワードを指定せずにmysqlコマンドを使用してデータベースに直接接続することはできます。それが気になるなら、私はすべてrootシェルユーザーとして試しています。

PASSWORD()メソッドを使用してauthentication_stringpasswordの列を設定しました。これらの値は現在暗号化されていることが確認されています。 service mysql restartを使用してMySQLサービスを再開しましたが、それでもすべてが無駄です。 MySQL用のポートはデフォルトで3306になります。
私はここで何が欠けていますか? TIA。
(これは重複していないと思いますが、私はほとんどすべての記事を読んで解決策を試しましたが、ここで深い洞察が必要です)

答えて

2

あなたは明らかにDebianが提供するMariaDB 10.0パッケージを使用しています。最近、Debianは、パッケージのローカルルートに対して、デフォルトでunix_socket認証を使用するように切り替えました。あなたはそれをしたくない場合、あなたはあなたが天使だ

UPDATE mysql.user SET plugin = '' WHERE user = 'root'; 
FLUSH PRIVILEGES; 
+0

を実行することにより、バックパスワード認証に切り替えることができます

SELECT user, host, password, plugin FROM mysql.user; 

を実行することにより、それを見ることができます!私は文字通り、私が諦めるまで、これを働かせるのに3時間を費やしました!簡単な質問ですが、両方の認証を有効にすることは可能ですか? –

+1

それはあなたが何を念頭に置いているかによって異なります。明らかに、認証はユーザごとに設定されています。ローカルの 'root'を' unix_socket'プラグインで認証し、通常のパスワードベースのアクセス権を持つ別のスーパーユーザを作成することができます。初期認証が失敗した場合に 'unix_socket'がパスワードにフォールバックするように設定できるのかどうかは、現在できません。また、[pam認証](https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/)を調べることもできます。設定が手間がかかりますが、それを通過すると、あなたはより柔軟性があります。 – elenst

+0

ありがとう、私は新しいユーザーのアイデアが好きで、それは私が必要とするすべての柔軟性だと思います:) –

関連する問題