My(共同創設者Michael Wideniusの娘名)Structured Query Languageの略であるMySQLは、オープンソースのリレーショナルデータベース管理システムです。 このRDBMSはOracleによってサポートされており、Linux、UNIX、MSWindowsなどのほぼすべてのプラットフォームで実行されます。 MYSQLは通常、オンラインパブリッシングおよびWebベースのアプリケーションの最初の選択肢です。 Facebook、 YouTube と Twitter すべてのRDBMSとしてMySQLを使用しています。 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 パスワード強度に選択した番号を押して Enter。 次に、システムはrootの新しいパスワードを要求します。 パスワードを入力し、次のプロンプトで再入力します。
システムは、指定されたパスワードの強度を表示し、パスワードを続行するかどうかも尋ねます。
はいの場合はYと入力し、を押します Enter。
これで、システムは一度に1つずつ一連の質問をします。これらの質問への回答に応じて、システムのセキュリティを設定できます。
一連の質問:
最初の質問では、匿名のテストユーザーを削除するかどうかを尋ねられます。
yを押して Enter 鍵。
2番目の質問では、リモートシステムからのrootログインを禁止するかどうかを尋ねられます。 安全なシステムの場合、rootはローカルホストからの接続のみを許可する必要があるため、通常はこれを選択する必要があります。
したがって、yを入力することをお勧めします。
3番目の質問は、「test」という名前のデフォルトのMySQLデータベースをシステムから削除し、そのデータベースへのアクセスも削除するかどうかを尋ねます。
yと入力して、このテストデータベースを削除します。
上記で構成したすべての変更を有効にするには、システムがアクセス許可テーブルを再ロードする必要があります。 Enter yおよびすべてのセキュリティ変更が適用されます。
MySQLシェルを使用するようにrootを構成する
セキュリティスクリプトを実行するときに、rootのパスワードを指定しました。 ただし、このユーザーは同じパスワードでMySQLシェルに接続することはできません。 認証方法をデフォルトの「auth_socket」から「mysql_native_password」に変更することにより、MySQLシェルを使用するようにrootを構成できます。
方法は次のとおりです。
ステップ1:MySQLシェルを起動する
まず、次のコマンドを実行してMySQLシェルを起動します。 sudo:
$ 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で管理操作を実行できるようにするクライアントです。 として example、管理コマンドの1つを実行して、システムが正しく実行されているかどうか、およびルートが正しく実行されているかどうかを確認しましょう。
$ sudo mysqladmin -p-uルートバージョン
このコマンドは、rootとしてMySQLに接続し、rootパスワードを取得してから、MySQLを返すためのものです。 admin バージョンナンバー。
コマンドが想定どおりに動作し、上記と同様の出力を生成する場合は、MySQLが稼働していることを確認できます。
UbuntuにMySQLをインストールしてセットアップするプロセスは、特にコマンドラインを使用する場合、一部の人にとっては面倒に思えるかもしれません。 ただし、上記の手順を1つずつ注意深く実行すれば、Ubuntuで実行されているMySQLの信頼性が高く、安全で安定したインストールに問題はありません。