1.Mysql8 インストール
1-1.インストール
1 |
# dnf module -y install mysql:8.0 |
1 2 3 4 5 6 7 8 |
# vi /etc/my.cnf.d/charset.cnf (新規作成) # デフォルトの文字コードを設定 # 絵文字等 4 バイト長の文字を扱う場合は [utf8mb4] [mysqld] character-set-server = utf8mb4 [client] default-character-set = utf8mb4 |
1 |
# systemctl enable --now mysql |
1-2.セキュリティ対策
1 |
# mysql_secure_installation |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
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 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: 0 Please set the password for root here. # MySQL root パスワードを設定 New password:xxxxxxx Re-enter new password:xxxxxxx # 入力したパスワードで良いかの確認 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 By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. # 匿名ユーザーを削除するか否か 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. # root ユーザーのリモートログインを無効とするか否か 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! |
1-3.Mysqlの起動確認
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# mysql -u root -p passwd xxxxxxx ① データベース作成 mysql> create database test_database; Query OK, 0 rows affected (0.14 sec) ➁DBユーザー作成 ※ローカルユーザー mysql> create user 'testuser'@'localhost' identified with mysql_native_password by 'testpass'; Query OK, 0 rows affected (0.14 sec) ➂ユーザー権限設定 mysql> grant all on test_database.* to testuser@'localhost' with grant option; Query OK, 0 rows affected (0.14 sec)④権限設定反映 mysql> flush privileges; Query OK, 0 rows affected (0.22 sec) mysql>exit bye |