コードを使用したmysqld_safe --skip-grant-tables &
がエラーが発生した場合:
mysqld_safeディレクトリ '/ var / run / mysqld' for UNIXソケットファイルが存在しません。
$ systemctl stop mysql.service
$ ps -eaf|grep mysql
$ mysqld_safe --skip-grant-tables &
私は解決しました:
$ mkdir -p /var/run/mysqld
$ chown mysql:mysql /var/run/mysqld
今、私は同じコードを使用してmysqld_safe --skip-grant-tables &
取得します
mysqld_safe / var / lib / mysqlのデータベースを使用してmysqldデーモンを起動する
私が使用する$ mysql -u root
と、次のようになります。
サーバーのバージョン:5.7.18-0ubuntu0.16.04.1(Ubuntu)
Copyright(c)2000、2017、Oracleおよび/またはその関連会社。全著作権所有。
OracleはOracle Corporationおよび/またはその関連会社の登録商標です。その他の名称は、それぞれの所有者の商標である可能性があります。
「ヘルプ」と入力します。または '\ h'を使用してください。現在の入力ステートメントをクリアするには、「\ c」と入力します。
mysql>
次にパスワードを変更します。
mysql> use mysql
mysql> describe user;
テーブル名と列名を補完するためのテーブル情報の読み取り-Aを使用すると、この機能をオフにして、起動時間を短縮できます
データベースが変更されました
mysql> FLUSH PRIVILEGES;
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('newpwd');
または、どこからでも接続できるmysql rootアカウントがある場合は、次の操作も行う必要があります。
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
別の方法:
USE mysql
UPDATE user SET Password = PASSWORD('newpwd')
WHERE Host = 'localhost' AND User = 'root';
そして、どこからでもアクセスできるrootアカウントがある場合:
USE mysql
UPDATE user SET Password = PASSWORD('newpwd')
WHERE Host = '%' AND User = 'root';`enter code here
quit
mysqlから停止して開始する必要があります
FLUSH PRIVILEGES;
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
再び `mysql -u root -p 'を実行し、新しいパスワードを使用して
mysql>