ローカルホストで MySQL を実行しようとしています。これは以前はなかったのですが、インストール時sudo apt-get install mysql-server
に初期パスワードを要求されませんでした。
パスワードを「リセット」するための回答を検索し、ディレクトリのアクセス許可と戦った後、現在、次の状態にあります。
mysqld_safe ソリューション:
- コンピューターを再起動した
mysql -u root -p
後、パスワードの入力を求められ、パスワードを入力すると、ERROR 1698 (28000): Access denied for user 'root'@'localhost'
- 代わりに
mysql -u root
(パスワードなしで)試すと、次のように表示されますERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
- を介してパスワードをリセットすることについて他の人が投稿したアドバイスを実行する
mysqld_safe --skip-grant-tables
と、途中で問題が発生します。- まず私が走る
sudo service mysql stop
sudo mysql_safe --skip-grant-tables
すると言うだろうmysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
- 私はそれを修正することができ
sudo mkdir -p /var/run/mysqld
ますsudo chown mysql /var/run/mysqld
- この後、running
mysqld_safe
はメッセージとともに実行され、Starting mysqld daemon with databases from /var/lib/mysql
ハングします。そしてCtrl+Cは私をそこから抜け出させません。 - 新しいターミナル ウィンドウで、実際に接続し
mysql -u root
てmysql>
プロンプトを表示できるようになりました。 use mysql; update user set authentication_string=password('0000') where user='root';flush privileges;
メッセージで行が正常に更新されたことを通知する新しいパスワードを設定できますRows matched: 1 Changed: 1 Warnings: 1
- 警告には次のように記載されています。
'PASSWORD' is deprecated and will be removed in a future release.
- そして、これらすべての後、私は振り出しに戻りました。プロセスはまだハングしているため、再起動する必要があり
killall mysqld_safe
ますno process found
。再起動して新しいパスワード0000
を入力すると、アクセスが拒否されます。
- まず私が走る
システムはLinux 4.15.0-48-generic #51-Ubuntu SMP
.
mysqladmin ソリューション
mysqladmin -u root password '0000'
(なしでsudo
)実行すると、次のようになります。
mysqladmin: 'localhost' でサーバーに接続できませんでした
エラー: 'ユーザー 'root'@'localhost' のアクセスが拒否されました''
で実行するとsudo
、次のようになります。
mysqladmin: [警告] コマンド ライン インターフェイスでパスワードを使用すると、安全でない可能性があります。
警告: パスワードはプレーン テキストでサーバーに送信されるため、SSL 接続を使用してパスワードの安全性を確保してください。
この最後のものは、パスワードの変更が行われたかどうかに関して、実際には何も教えてくれません。拒否されたかどうか(エラーではなく警告であるため、通過する必要があると思います)、どちらの場合でも、接続しようとする0000
と「アクセスが拒否されました」と表示されます。
これを修正する方法についてのアドバイスは大歓迎です。