web-dev-qa-db-ja.com

CentOS 7でのmysql rootパスワードの設定

Mysql 5.6コマンドラインクライアントにログインし、Centos7でrootパスワードをリセットするにはどうすればよいですか?

私は次の このリンクで を読みましたが、機能しません:

1) Sudo service mysqld stop
2) Sudo service mysqld startsos
3) mysql -u root
4) Now you will be at mysql Prompt. Here type:-
4.1) UPDATE mysql.user SET Password=PASSWORD('NewPassHere') WHERE User='root';
4.2) FLUSH PRIVILEGES;
4.3) quit;
5) Sudo service mysqld restart  

上記のステップ1)の結果:

[root@localhost ~]# Sudo service mysqld stop
Redirecting to /bin/systemctl stop  mysqld.service
Failed to issue method call: Unit mysqld.service not loaded.

上記のステップ3)の結果:

-bash: syntax error near unexpected token `('

手順3をUPDATE mysql.user SET Password='NewPassHere' WHERE User='root';に変更すると、次のエラーが発生します。

bash:UPDATE:コマンドが見つかりません...

su -と入力してrootになり、次のプロンプトでmysql - u rootと入力すると、mysqlに入ることができるようです。しかし、上記の5つのステップコマンドは、Word Sudoを削除したり、Word servicesystemctlに置き換えたりしても機能しません。 ルートパスワードの設定から始めて、CentOS 7のmysql 5.6コマンドラインに実際にアクセスするにはどうすればよいですか?

5
CodeMed

場合によっては、構成を破壊することがあります。そのため、パッケージがインストールされたことがないかのように、最初からやり直すのが簡単です。あなたの場合、私たちはMySQLを見ています。

  1. Yumを使用してMySQLを削除します。
    yum remove mysql mysql-server
  2. MySQLを削除すると、構成を安全にバックアップできます。
    mv /var/lib/mysql /var/lib/mysql_old_backup
    削除する場合は、次のコマンドを発行します。
    rm -vR /var/lib/mysql
  3. これで、公式MySQLリポジトリのパッケージに含まれているデフォルト設定を使用して、MySQLを安全に再インストールできます(リポジトリを更新するrpmを取得するにはwgetが必要です)。
    yum install wget
  4. リポジトリをダウンロードしてインストールします。
    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm && rpm -ivh mysql-community-release-el7-5.noarch.rpm
  5. リポジトリがインストールされていることを確認します。
    ls -1 /etc/yum.repos.d/mysql-community*
  6. 実際のインストールコマンドを発行します(これによりmysql-server上流のMySQLからの公式パッケージを含むCentOSリポジトリ内):
    yum install mysql-server
  7. 提供されたスクリプトを使用してrootパスワードを設定します。これで、フレッシュインストールが再度実行されました。mysql_secure_installation
    スクリプトの使用後にパスワードを設定する必要がある場合は、次を使用します。
    mysql -u root
  8. これで、systemctlの一部であるsystemdの標準コマンドを使用して、次のようにデーモンを開始および停止できます。
    systemctl start mysqld

参考文献

  1. LinuxシステムからMySQLを完全に削除する方法-CentOS
  2. CentOS 7/RHEL 7にMySQL Server 5.6をインストールする方法
4
eyoung100

RHEL/Centos 7に最新のMySql 5.7をインストールするには、次の手順を実行します。

ステップ1-:以下のEPELリポジトリを追加します

$ Sudo rpm -iUvh http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

ステップ2 ::以下のyumインストーラーを使用してMySqlサーバーをインストールします。

$ Sudo yum install mysql-server 

ステップ3 ::システムのスタートアップに追加し、Mysqlサーバーを起動します。

$ Sudo systemctl enable mysqld 
 $ Sudo systemctl start mysqld 

ステップ4-:MySqlサーバーのルートパスワードをリセットします。

Sudo grep 'temporary password' /var/log/mysqld.log

-何かのような出力-:

10.744785Z 1 [注] root @ localhostの一時的なパスワードが生成されます:o!5y、oJGALQa 

Mysql_secure_installationプロセスのリセット中に上記のパスワードを使用します。

$ Sudo mysql_secure_installation 
 MySQLサーバーデプロイメントを保護します。 ]後続の手順は、プラグインの既存の構成
を使用して実行されます。
ルートに既存のパスワードを使用します。
 
パスワードの推定強度:100 
 rootのパスワードを変更しますか? ((はいの場合はy | Y、いいえの場合はその他のキーを押します):y 
 
新しいパスワード:
 
新しいパスワードを再入力:
 
パスワードの推定強度:100 
提供されたパスワードで続行しますか?(はいの場合はy | Y、いいえの場合は他のキーを押します):y 
デフォルトでは、MySQLインストールには匿名ユーザーがいます。
ユーザーアカウントを作成しなくても、誰でもMySQLにログインできます。
ユーザーアカウントを作成する必要はありません。これは、
テスト専用です。インストールを少し円滑にするには、
本番環境に移動する前に削除する必要があります
環境。
 
匿名ユーザーを削除しますか?(y | Yを押してはい、いいえのその他のキー):y 
成功。
 
 
通常、ルートは
 'localhost'からの接続のみを許可されます。これにより、誰かがネットワークからrootパスワードを推測できないようにします。
 
 rootログインをリモートで許可しませんか?(はいの場合はy | Y、いいえの場合は他のキーを押します): y 
サクess。
 
デフォルトでは、MySQLには「test」という名前のデータベースが付属しており、誰でもアクセスできます
。これもテストのみを目的としています。
本番環境に移動する前に削除する必要があります
環境。
 
 
テストデータベースを削除して、それ? (はいの場合はy | Y、いいえの場合はその他のキーを押します):y 
-テストデータベースを削除しています... 
成功。
 
-テストの権限を削除しますデータベース... 
成功。
 
特権テーブルをリロードすると、これまでに行ったすべての変更
がすぐに有効になります。
 
今すぐ特権テーブルをリロードしますか? (はいの場合はy | Y、いいえの場合はその他のキーを押します):y 
成功。
 
すべて完了しました!

MySql Serverのrootパスワードを正常にリセットしました。

ステップ5-:以下のコマンドを使用して、mysqlサーバーが接続しているかどうかを確認します。

$ mysql -u root -p 

出力-:

MySQLモニターへようこそ。コマンドは;で終わります。または\ g。
 MySQL接続IDは9です。
サーバーバージョン:5.7.12 MySQL Community Server(GPL)
 
 Copyright(c)2000、2016、 Oracleおよび/またはその関連会社。 All rights reserved。
 
 Oracleは、Oracle Corporationおよび/またはその関連会社の登録商標です。
その他の名前は、それぞれの所有者の商標です。
所有者。
 
「help;」と入力します。または '\ h'を使用してください。現在の入力ステートメントをクリアするには、「\ c」と入力します。
 
 mysql> 

私の記事を参照してください: install-latest-mysql-5-7-rhelcentos-7

11
Arvind Rawat

コマンドを使用するときにMySQLにアクセスできる場合:

mysql -u root

次に、MySQLにすでにアクセスしています。「root」ユーザーのパスワードが設定されていない(ほとんどの場合)か、/etc/my.cnfなどのMySQLの設定ファイルにパスワードが設定されている可能性があります。

MySQLルートパスワードをリセットする場合は、次のコマンドを実行できるはずです。

$ mysql_secure_installation
2
Chris Davidson

おそらく、 'restart'が 'startsos'によってsosモードで開始されたMySQLを強制終了せず、ポート3306(または実行中の場所)が占有されているためです。 4番目のステップの後、以下を試してください。

$ Sudo service mysqld stop
$ ps -ef | grep mysql

ここで、psの出力から、実行中のmysqlプロセスが表示されない場合は、以下のコマンドを使用してMySQLを起動します。 mysqlプロセスが実行中の場合は、mysqlプロセスを強制終了してからMySQLを起動します。

$ Sudo service mysqld start
0
Sree