web-dev-qa-db-ja.com

Ubuntu 15.10 mysqlエラー1524-unix_socket

Ubuntu 15.10では、ある時点(mariadbのインストールと削除後)でmysqlが動作しませんでした。タスクはアップしていますが、サーバーはダウンしています。

コマンドで:

mysql -u root -p

システムは次のように応答します:

mysql "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"

ログインする方法、プラグインが見つからない、設定ファイルにエラーがない(すべてデフォルト)。

制御を取り戻し、mysqlサーバーを実行する方法は?

49

「unix_socket」はmysql認証プロセスによって呼び出されました(データベースのmariadbへの部分的な移行に関連している可能性がありますが、現在は削除されています)。すべての機能を元に戻すにはsuを実行します。

Sudo su

その後に従ってください:

/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables &
mysql -uroot

これにより、mysqlが完全に停止し、ユーザー認証がバイパスされ(パスワードは不要)、ユーザー「root」でmysqlに接続されます。

次に、mysqlコンソールで、mysql管理データベースを使用します。

use mysql;

ルートパスワードをmynewpassword(希望に応じて変更)にリセットするには、確認するだけです:

update user set password=PASSWORD("mynewpassword") where User='root';

そして、これは認証メソッドを上書きし、unix_socketリクエスト(およびその他すべて)を削除し、通常の機能するパスワードメソッドを復元します。

update user set plugin="mysql_native_password";

Mysqlコンソールを終了します。

quit;

Mysqlに関連するすべてを停止して開始します。

/etc/init.d/mysql stop
kill -9 $(pgrep mysql)
/etc/init.d/mysql start

Suモードをexitすることを忘れないでください。

これで、mySQLサーバーが稼働します。 rootでログインできます:

mysql -u root -p

またはあなたが望むもの。パスワードの使用は有効です。

それでおしまい。

92

これを行うための私の手順は次のとおりです。

/etc/init.d/mysql stop
Sudo killall mysqld_safe
Sudo killall mysqld
Sudo mysqld_safe --skip-grant-tables &
mysql -u root
use mysql;
update user set password=PASSWORD("mynewpassword") where User='root';
update user set plugin="mysql_native_password";
quit;
/etc/init.d/mysql stop
Sudo kill -9 $(pgrep mysql)
/etc/init.d/mysql start
11
Roy Yan