Ubuntu 15.10では、ある時点(mariadbのインストールと削除後)でmysqlが動作しませんでした。タスクはアップしていますが、サーバーはダウンしています。
コマンドで:
mysql -u root -p
システムは次のように応答します:
mysql "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"
ログインする方法、プラグインが見つからない、設定ファイルにエラーがない(すべてデフォルト)。
制御を取り戻し、mysqlサーバーを実行する方法は?
「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
またはあなたが望むもの。パスワードの使用は有効です。
それでおしまい。
これを行うための私の手順は次のとおりです。
/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