GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04LTSにMySQLをインストールして構成する方法

My(共同創設者Michael Wideniusの娘名)Structured Query Languageの略であるMySQLは、オープンソースのリレーショナルデータベース管理システムです。このRDBMSはOracleによってサポートされており、Linux、UNIX、MSWindowsなどのほぼすべてのプラットフォームで実行されます。 MYSQLは通常、オンラインパブリッシングおよびWebベースのアプリケーションの最初の選択肢です。 Facebook、YouTube、TwitterはすべてMySQLをRDBMSとして使用しています。 MySQLは非常に人気のあるLAMPスタックの一部です:Linux、Apache、MySQL、Python / PHP/Perl。

この記事では、手順を追って説明します。

  • aptパッケージリポジトリで利用可能な最新バージョンのMySQLをインストールします
  • MySQLセキュリティスクリプトを実行する
  • MySQLシェルにアクセスするようにrootユーザーを構成します
  • 最後に、MySQLが実行されていることをテストします

この記事に記載されているコマンドと手順をUbuntu20.04LTSシステムで実行しました

MySQLのインストールとセキュリティの構成

このセクションでは、UbuntuコマンドラインからMySQLをインストールし、セキュリティを構成する方法について説明します。

アプリケーションランチャーの検索バーから、またはCtrl + Alt + Tを押すことにより、Ubuntuコマンドライン(ターミナル)を開くことができます。

ステップ1:リポジトリインデックスを更新する

インターネットリポジトリから利用可能な最新バージョンのソフトウェアをインストールするには、ローカルリポジトリのインデックスがそれに一致している必要があります。次のコマンドをsudoとして実行して、ローカルリポジトリインデックスを更新します。

$ sudo apt-get update

ステップ2:aptを使用してMySQLサーバーをインストールする

次のコマンドをsudoとして実行して、APTリポジトリからMySQLをインストールしてください。

$ sudo apt-get install mysql-server

ソフトウェアを追加、削除、構成できるのは、Ubuntuの許可されたユーザーのみであることに注意してください。

システムはsudoのパスワードを要求する場合があり、インストールを続行するためのY/nオプションも提供する場合があります。 Yと入力し、Enterキーを押します。その後、MySQLがシステムにインストールされます。ただし、インターネットの速度によっては、処理に時間がかかる場合があります。

ステップ3:インストールを確認します(オプション)

ターミナルで次のコマンドを実行して、MySQLのインストールを確認し、バージョン番号を確認することもできます。

$ mysql --version

ステップ4:提供されたセキュリティスクリプトを実行してセキュリティ構成を作成します

MySQLの新しいコピーをインストールするときはいつでも、MySQLインストールのセキュリティを強化するために変更する必要のあるデフォルト設定がいくつかあります。これには、テストユーザー、テストデータベースの削除、rootユーザーによるリモートログインの許可が含まれます。

次のコマンドをsudoとして実行して、セキュリティスクリプトを開始します。

$ sudo mysql_secure_installation

このコマンドを実行すると、最初にプロンプ​​トが表示されるのは、パスワードの検証プラグインを設定することです。これにより、選択するパスワードの強度に応じて、rootに安全なパスワードを設定できます。 Yと入力して、パスワードの検証プラグインを開始すると、次のプロンプトが表示されます。

パスワード強度として選択した番号を入力し、Enterキーを押します。次に、システムはrootの新しいパスワードを要求します。パスワードを入力し、次のプロンプトで再入力します。

システムは、指定されたパスワードの強度を表示し、パスワードを続行するかどうかも尋ねます。

はいの場合はYと入力し、Enterキーを押します。

これで、システムは一度に1つずつ一連の質問をするようになり、これらの質問への回答に応じてシステムのセキュリティを設定できます。

一連の質問:

最初の質問では、匿名のテストユーザーを削除するかどうかを尋ねられます。

yとEnterキーを押します。

2番目の質問では、リモートシステムからのrootログインを禁止するかどうかを尋ねられます。安全なシステムの場合、rootはローカルホストからの接続のみを許可する必要があるため、通常はこれを選択する必要があります。

したがって、yを入力することをお勧めします。

3番目の質問は、「test」という名前のデフォルトのMySQLデータベースをシステムから削除し、そのデータベースへのアクセスも削除するかどうかを尋ねます。

yと入力して、このテストデータベースを削除します。

上記で構成したすべての変更を有効にするには、システムがアクセス許可テーブルを再ロードする必要があります。 yを入力すると、すべてのセキュリティ変更が適用されます。

MySQLシェルを使用するためのrootの構成

セキュリティスクリプトを実行するときに、rootのパスワードを指定しました。ただし、このユーザーは同じパスワードでMySQLShellに接続することはできません。認証方法をデフォルトの「auth_socket」から「mysql_native_password」に変更することで、MySQLシェルを使用するようにrootを構成できます。

方法は次のとおりです。

ステップ1:MySQLシェルを起動する

まず、sudoとして次のコマンドを実行してMySQLシェルを起動します。

$ sudo mysql

これによりMySQLシェルが起動するため、MySQLプロンプトで作業できます。

ステップ2:MySQLユーザーの認証方法を確認する

MySQLプロンプトで、次のコマンドを入力します。これにより、すべてのMySQLアカウントが現在使用している認証方法/プラグインを確認できます。

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

上記の出力では、rootがデフォルトで認証にauth-socketプラグインを使用していることがわかります。

ステップ3:ルートの認証方法を変更する

私たちの目標は、rootユーザーにパスワードを使用してMySQLに対して認証させることです。これを行うには、次のコマンドを実行します。これにより、rootユーザーがmysql_native_passwordで識別されます。このパスワードは非常に強力である必要があることに注意してください。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

今後、rootユーザーは、提供されたセキュリティスクリプトの実行時に指定したパスワードではなく、上記のコマンドで指定した強力なパスワードを使用できなくなります。

ステップ4:許可テーブルを再ロードする

次に、サーバーに新しい権限設定を使用するように指示します。 MySQLコマンドプロンプトで次のコマンドを実行して、許可テーブルを再ロードし、変更を登録します。

mysql> FLUSH PRIVILEGES;

ステップ5:MySQLユーザーの認証方法を再確認する

ここで、次のコマンドを使用してMySQLユーザーアカウントの認証方法を再確認すると、rootユーザーが認証にmysql_native_passwordプラグインを使用していることがわかります。

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

rootユーザーが安全なパスワードでMySQLシェルに接続するように設定されたので、次のようにexitコマンドを使用してシェルを終了できます。

mysql> exit

MySQLが実行されているかどうかのテスト

MySQLがシステムで実行されているかどうかをテストするには、次のいずれかの方法を使用できます。

方法1:mysql.serviceのステータスを確認する

システムにMySQLをインストールした後、mysql.serviceが自動的に実行されている可能性があります。次のコマンドの出力は、サービスのアクティブなステータスを確認する必要があります。

$ systemctl status mysql.service

何らかの理由でサービスが実行されていない場合は、sudoとして次のコマンドを使用してサービスを開始できます。

$ sudo systemctl start mysql

必要に応じて、次のコマンドを使用してサービスを再度停止できます。

$ sudo systemctl stop mysql

方法2:rootとしてMySQL Adminに接続し、管理コマンドを実行する

MySQL Adminは、MySQLで管理操作を実行できるようにするクライアントです。例として、管理コマンドの1つを実行して、システムが正しく実行されているかどうか、およびルートが正しく実行されているかどうかを確認しましょう。

$ sudo mysqladmin -p -u root version

このコマンドは、rootとしてMySQLに接続し、rootパスワードを取得してから、MySQL管理者のバージョン番号を返すためのものです。

コマンドが想定どおりに動作し、上記と同様の出力を生成する場合は、MySQLが稼働していることを確認できます。

UbuntuにMySQLをインストールしてセットアップするプロセスは、特にコマンドラインを使用する場合、一部の人にとっては面倒に思えるかもしれません。ただし、上記の手順を1つずつ注意深く実行すれば、Ubuntuで実行されているMySQLの信頼性が高く、安全で安定したインストールに問題はありません。


Ubuntu
  1. Ubuntu18.04にRedisをインストールして構成する方法

  2. Ubuntu18.04LTSにAnsibleをインストールして構成する方法

  3. Ubuntu 20.04 LTS に Fail2ban をインストールして構成する方法

  1. Ubuntu18.04にRedmineをインストールして設定する方法

  2. Ubuntu18.04にZabbixをインストールして設定する方法

  3. Ubuntu18.04にSambaをインストールして設定する方法

  1. Ubuntu 18.04 LTSにKubernetes(k8s)をインストールして設定する方法

  2. Ubuntu18.04LTSにGitLabをインストールして構成する方法

  3. Ubuntu18.04LTSにKubernetesとDockerをインストールして設定する方法