Mysqld_safeを使用してmysqlサーバー5.7.17を起動中に、エラーocccoursが表示されます。
2017-02-10T17:05:44.870970Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-10T17:05:44.872874Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-10T17:05:44.874547Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
それを修正するには?
インストール時にこのディレクトリが作成されなかったことは奇妙に思えます - あなたは手動でmy.cfgのソケットファイルのパスを変更しましたか?
このディレクトリを自分で作成してサービスを再起動してみましたか?
mkdir -p /var/run/mysqld
chown mysql:mysql /var/run/mysqld
コードmysqld_safe --skip-grant-tables &
を使用したがエラーが発生しました。
mysqld_safe UNIXソケットファイル用のディレクトリ '/ var/run/mysqld'が存在しません。
$ 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および/またはその関連会社の登録商標です。その他の名称は、それぞれの所有者の商標です。
「help;」と入力します。または '\ 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
mysqlからquit
してstop/startする必要があります
FLUSH PRIVILEGES;
Sudo /etc/init.d/mysql stop
Sudo /etc/init.d/mysql start
今度は再び `mysql -u root -p 'になり、新しいパスワードを使って取得します。
mySQL>
CentOSで私のために働きます:
$ service mysql stop
$ mysqld --skip-grant-tables &
$ mysql -u root mysql
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
$ service mysql restart
データベースにデータがない場合は、次のことを試してください。[OR他に別のデータがあります。 Ubuntuサーバーのrootパスワードを知っている必要がありますが、mysqlのrootパスワードは知っている必要はありません。
これはベストプラクティスであるため、多くの人が "mysql_secure_installation"をインストールした可能性が非常に高いです。 mysql_secure_installationが存在するbinディレクトリに移動します。 Ubuntuシステムの/ binディレクトリにあります。インストーラを再実行すると、ルートデータベースのパスワードを変更するかどうかを尋ねるプロンプトが表示されます。