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

UbuntuLinuxにMySQLをインストールする方法

このガイドでは、Ubuntu LinuxにMySQLをインストールする方法と、MySQL rootを設定する方法を学習します。 ユーザーパスワード、そして最後にrootとしてMySQLサーバーにアクセスする方法 ユーザー。

以下に示すすべての手順は、新しくインストールされたUbuntu20.04LTSサーバーエディションでテストされています。

前提条件

MySQLをインストールする前に、Ubuntuシステムが最新のパッケージで更新されていることを確認してください。

$ sudo apt update
$ sudo apt upgrade

すべてのアップデートがインストールされたら、システムを再起動します。

$ sudo reboot

1。 UbuntuLinuxにMySQLをインストールする

MySQLは、UbuntuLinuxのデフォルトのリポジトリで使用できます。 MySQLをUbuntuLinuxにインストールするには、次のコマンドを実行します。

$ sudo apt install mysql-server

このコマンドは、UbuntuでMySQLデータベースサーバーをセットアップするために必要なすべてのコンポーネントをインストールします。

MySQLのバージョンを確認するには、次を実行します。

$ mysql --version

または、大文字のVを使用します :

$ mysql -V

出力例:

mysql  Ver 8.0.25-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

1.1。 MySQLサービスを開始、再起動、停止します

Ubuntuでは、MySQLサーバーがインストールされると、MySQLサービスが自動的に開始されます。 MySQLサービスが開始されているかどうかを確認するには、次を実行します。

$ sudo systemctl status mysql

出力例:

● mysql.service - MySQL Community Server
      Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
      Active: active (running) since Wed 2021-05-26 10:55:17 UTC; 4min 26s ago
    Main PID: 1520 (mysqld)
      Status: "Server is operational"
       Tasks: 37 (limit: 2280)
      Memory: 332.8M
      CGroup: /system.slice/mysql.service
              └─1520 /usr/sbin/mysqld
 May 26 10:55:15 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server…
 May 26 10:55:17 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.

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

$ sudo systemctl start mysql

再起動するたびにMySQLが自動的に起動するようにするには、次のコマンドを実行します。

$ sudo systemctl enable mysql

MySQLサービスを再起動するには、次を実行します:

$ sudo systemctl restart mysql

2。 MySQLルートユーザーパスワードを設定する

デフォルトでは、MySQLのルートパスワードは空白です。これは本番環境では推奨されません。強力で一意のデータベース管理ユーザー、つまりrootユーザーのパスワードを設定する必要があります。 MySQLには、mysql_secure_installationという名前のスクリプトが付属しています。 安全でないデフォルト設定を削除し、データベースサーバーを保護します。

mysql_secure_installation スクリプトは次のことを行います:

  • VALIDATE PASSWORD COMPONENTを設定します 、
  • VALIDATE PASSWORD COMPONENTの場合 が有効になっている場合は、希望するpassword validationを設定します ポリシー、
  • 匿名ユーザーを削除します
  • rootを禁止する ユーザーはリモートでログインします。
  • テストデータベースを削除し、テストデータベースの権限を削除します。
  • 最後に特権テーブルをリロードします。

次に、このスクリプトを実行しましょう:

$ sudo mysql_secure_installation

MySQLのインストール後にこのコマンドを初めて実行すると、空白のパスワードでMySQLに接続されます。次に、VALIDATE PASSWORD PLUGINを設定するかどうかを確認するメッセージが表示されます。 。

VALIDATE PASSWORD PLUGIN パスワードをテストし、セキュリティを向上させるために使用されます。パスワードの強度をチェックし、ユーザーが十分に安全なパスワードのみを設定できるようにします。 VALIDATEPASSWORDCOMPONENTの設定はオプションです。 無効のままにしておくのが安全です 。ただし、ユーザーロールを作成するときは、強力で一意のパスワードを使用することをお勧めします。 VALIDATE PASSWORD PLUGINを有効にしたくない場合 、任意のキーを押すだけで、パスワード検証の部分をスキップして、残りの手順を続行できます。

このVALIDATE PASSWORD PLUGINを使用したい 、だから私は yを入力しました はいの場合:

 Securing the MySQL server deployment.

 Connecting to MySQL using a blank password.

 VALIDATE PASSWORD COMPONENT can be used to test passwords
 and improve security. It checks the strength of password
 and allows the users to set only those passwords which are
 secure enough. Would you like to setup VALIDATE PASSWORD component?

 Press y|Y for Yes, any other key for No: y

はいを選択した場合 、パスワードポリシーレベルを選択するように求められます。 3つのパスワード検証ポリシーが利用可能です。 です 、 および強い 。各パスワードポリシーには、新しいデータベースロールを作成するときに使用する必要がある一連のパスワードルールが含まれています。たとえば、MEDIUMを選択する場合、パスワードには、数字、小文字と大文字、および特殊文字を含む8文字以上の長さが含まれている必要があります。自分に合ったパスワードポリシーを選択してください。

低レベルのパスワードポリシーを採用しているため、 0を選択します (ゼロ):

 There are three levels of password validation policy:

 LOW    Length >= 8
 MEDIUM Length >= 8, numeric, mixed case, and special characters
 STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

 Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 

次に、MySQLのrootユーザーのパスワードを2回入力します。パスワードを入力すると、パスワード強度スコアが表示されます。私の場合、100を取得しました。パスワードの強度に問題がない場合は、y 指定されたパスワードで続行します。それ以外の場合は、別の強力なパスワードを入力してから、Y 続ける。

 Please set the password for root here.

 New password: 

 Re-enter new password: 

 Estimated strength of the password: 100 
 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y

これをシステムのrootと混同しないでください アカウント。これは、データベースサーバーの管理アカウントです。

次に、y Enterキーを押して、後続のすべての質問のデフォルトを受け入れます。これにより、匿名ユーザーが削除され、rootログインがリモートで禁止され、テストデータベースが削除されます。

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done! 

MySQLのrootユーザーパスワードを設定しました。

MySQLのルートパスワードを忘れましたか?問題ない!次のリンクで説明されているように、MySQLでrootパスワードを簡単にリセットできます。

  • UbuntuLinux上のMySQL8でrootパスワードをリセットする方法
  • LinuxでMySQLルートユーザーパスワードをリセットする方法

3。 MySQLにログイン

rootとしてMySQLサーバーにログインするには ユーザー、実行するだけです:

$ sudo mysql

MySQLプロンプトにアクセスするには、ユーザーのパスワードを入力してください:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 18
Server version: 8.0.25-0ubuntu0.20.04.1 (Ubuntu)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

プロジェクトのユーザーロールとデータベースの作成を開始します。すぐに別のガイドで説明します。

helpを表示するには セクションに「help」と入力します または\h ENTERを押します キー:

mysql> help

MySQLプロンプトを終了してターミナルに戻るには、次のコマンドを実行します。

mysql> exit

4。 MySQLrootユーザーの認証方法を変更する

MySQLrootユーザーのパスワードを入力せずにMySQLサーバーにログインしたことに気づきましたか。システムユーザーアカウントのパスワードを入力しただけで、MySQLrootユーザーのパスワードは入力しませんでした。これは、MySQLのrootユーザーがauth_socketを使用しているためです。 MySQL5.7以降のバージョンを実行しているUbuntuシステムでMySQLサーバーで認証するためのプラグイン。

auth_socket プラグインは、Unixソケットファイルを介してローカルホストからMySQLサーバーに接続するクライアントを認証します。そのため、MySQLサーバーに対してrootとして認証することはできません。 パスワードを入力してユーザー。

MySQL rootユーザーにパスワード認証を使用する場合は、次の記事で説明するように、別の認証方法を使用するようにMySQLサーバーを再構成する必要があります。

>> Change Authentication Method For MySQL Root User In Ubuntu

結論

このガイドでは、UbuntuLinuxオペレーティングシステムにMySQLをインストールする方法を学びました。また、MySQL rootユーザーパスワードを設定する方法と、MySQLサーバーにrootとしてアクセスまたは接続する方法も学習しました。 ユーザー。


Ubuntu
  1. UbuntuLinuxにJavaをインストールする方法

  2. AmazonLinuxにMySQL5.7をインストールする方法

  3. Ubuntu18.04にMySQLをインストールする方法

  1. UbuntuLinuxにusb-creatorをインストールする方法

  2. Ubuntu20.04にMySQLデータベースをインストールする方法

  3. Ubuntu 22.04 に MySQL をインストールする方法

  1. Ubuntu18.04にMySQL8.0をインストールする方法

  2. Ubuntu20.04にMySQLをインストールする方法

  3. UbuntuLinuxにRedisをインストールする方法