このガイドでは、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
としてアクセスまたは接続する方法も学習しました。 ユーザー。