8回目-12.MySQL5.7.21設定

さくらVPSCentOS 7 2週間無料のお試し期間 8回目

一覧

 状態:-  閲覧数:604  投稿日:2018-03-14  更新日:2018-03-23

内容


自動起動 / 起動
最初に行うべき最低限の初期設定
一般的な初期設定
既存設定の移行
最終的に

自動起動 / 起動

 閲覧数:103 投稿日:2018-03-14 更新日:2018-03-14 

自動起動


サーバー起動時に、自動でMySQLを立ち上げるようにする
・インストールが完了したら、まずはサーバーを起動したら自動的に MySQL Server が起動するように設定する
・systemctl コマンドを利用する
$ sudo systemctl enable mysqld.service

起動


$ sudo systemctl start mysqld.service  


最初に行うべき最低限の初期設定

 閲覧数:142 投稿日:2018-03-14 更新日:2018-03-14 

デフォルトのrootパスワード確認


A temporary password is generated for root@localhost: ☆☆
・3v%<24y:.msC
$ cat /var/log/mysqld.log
2018-03-14T00:47:59.555526Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-03-14T00:48:00.276135Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-03-14T00:48:01.069705Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-03-14T00:48:01.137249Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 58c2e6c7-2721-11e8-8eb0-9ca3ba01caef.
2018-03-14T00:48:01.138444Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2018-03-14T00:48:01.139639Z 1 [Note] A temporary password is generated for root@localhost: 3v%<24y:.msC


mysql_secure_installation


mysql_secure_installation コマンドを実行する
$ mysql_secure_installation

MySQLのrootユーザのパスワード変更を行うかどうか
・rootのパスワード変更(初期状態でMySQLのrootのパスワードが設定されているので変更)
・新しく設定するパスワードは「8文字以上かつ英大文字・小文字・数字・記号」を含んでいないと弾かれる
・下記要件を全て満たすパスワードを入力しなければいけない
・最低1つの数字
・最低1つの大文字英字
・最低1つの子文字英字
・最低1つの特殊文字
・全部で8文字以上の文字列
Securing the MySQL server deployment.

Enter password for user root:

The existing password for the user account root has expired. Please set a new password.

New password:

Re-enter new password:
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) :

y  

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

anonymous(匿名)ユーザ削除
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


リモートホスト(ローカルホスト以外)からrootログイン禁止
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

test(テスト用)データベース削除
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パスワードでログインしてみる
・rootパスワードを間違えるとどうなるの?
$ mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)


・正しいrootパスワードを入力するとどうなるの?
$ mysql -u root -p    
                                                               
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.21 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

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> EXIT
Bye


一般的な初期設定

 閲覧数:111 投稿日:2018-03-14 更新日:2018-03-14 

現状確認


$ mysql -u root -p      
                                                                     
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.21 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

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> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.01 sec)

mysql>


mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

mysql>

mysql>exit

my.cnfバックアップ


念のためオリジナルの設定ファイルをバックアップしておく
※下記は誤り。コピーのつもりがリネームしている
・-iオプション(--interactive) … 上書き時に確認をする
・-org … originの略
$ mv -i /etc/my.cnf /etc/my.cnf.org
mv: `/etc/my.cnf' から `/etc/my.cnf.org' へ移動できません: 許可がありません

$ sudo mv -i /etc/my.cnf /etc/my.cnf.org

最初の状態へ戻す
$ sudo mv -i /etc/my.cnf.org /etc/my.cnf

改めてコピー実行
$ cp -p /etc/my.cnf /etc/my.cnf.20180314
cp: 通常ファイル `/etc/my.cnf.20180314' を作成できません: 許可がありません

$ sudo cp -p /etc/my.cnf /etc/my.cnf.20180314

$ ls -la /etc      
                                                                           
合計 1424
drwxr-xr-x. 96 root root     8192  3月 14 10:16 .
dr-xr-xr-x. 17 root root     4096 10月 31  2016 ..
-rw-------.  1 root root        0  9月 14  2016 .pwd.lock
-rw-r--r--   1 root root      163  9月 14  2016 .updated
-rw-r--r--.  1 root root     5090  2月 17  2016 DIR_COLORS
-rw-r--r--.  1 root root     5725  2月 17  2016 DIR_COLORS.256color
-rw-r--r--.  1 root root     4669  2月 17  2016 DIR_COLORS.lightbgcolor
-rw-r--r--.  1 root root       94  4月 29  2015 GREP_COLORS
drwxr-xr-x   3 root root       26  3月 11 12:30 ImageMagick6
drwxr-xr-x.  7 root root     4096 10月 31  2016 NetworkManager
drwxr-xr-x.  5 root root       54  9月 14  2016 X11
drwxr-xr-x.  3 root root       97  9月 14  2016 abrt
-rw-r--r--.  1 root root       16  9月 14  2016 adjtime
-rw-r--r--.  1 root root     1518  6月  7  2013 aliases
-rw-r--r--   1 root root    12288 10月 31  2016 aliases.db
drwxr-xr-x.  2 root root       66  3月 14 09:39 alternatives
-rw-------   1 root root      542  3月  8 11:48 anacrontab
-rw-r--r--.  1 root root       55  3月  6  2015 asound.conf
-rw-r--r--.  1 root root        1 11月 20  2015 at.deny
drwxr-x---.  3 root root       41  3月 13 09:18 audisp
drwxr-x---.  3 root root      102  3月 13 09:18 audit
drwxr-xr-x.  2 root root       33  9月 14  2016 avahi
drwxr-xr-x.  2 root root     4096  9月 14  2016 bash_completion.d
-rw-r--r--.  1 root root     2835  8月 12  2015 bashrc
drwxr-xr-x.  2 root root        6  3月  7 22:27 binfmt.d
-rw-r--r--.  1 root root       38 12月  9  2015 centos-release
-rw-r--r--.  1 root root       51 12月  9  2015 centos-release-upstream
drwxr-xr-x.  2 root root        6  5月 12  2016 chkconfig.d
-rw-r--r--.  1 root root     1720  9月 14  2016 chrony.conf
-rw-r-----.  1 root chrony     62 10月 31  2016 chrony.keys
drwxr-xr-x.  2 root root       25  9月 14  2016 cifs-utils
drwxr-xr-x.  2 root root       69  3月 13 09:24 cron.d
drwxr-xr-x.  2 root root       76  9月 14  2016 cron.daily
-rw-------.  1 root root        0  4月  1  2016 cron.deny
drwxr-xr-x.  2 root root       44  9月 14  2016 cron.hourly
drwxr-xr-x.  2 root root        6  6月 10  2014 cron.monthly
drwxr-xr-x.  2 root root        6  6月 10  2014 cron.weekly
-rw-r--r--.  1 root root      451  6月 10  2014 crontab
-rw-------.  1 root root        0  9月 14  2016 crypttab
-rw-r--r--.  1 root root     1602  6月  7  2013 csh.cshrc
-rw-r--r--.  1 root root      841  6月  7  2013 csh.login
drwxr-xr-x.  4 root root       74  9月 14  2016 dbus-1
drwxr-xr-x.  2 root root       41 10月 31  2016 default
drwxr-xr-x.  2 root root       22 10月 31  2016 depmod.d
drwxr-x---.  3 root root       23  9月 14  2016 dhcp
-rw-r--r--   1 root root    25213  9月 15  2016 dnsmasq.conf
drwxr-xr-x.  2 root root        6  9月 15  2016 dnsmasq.d
-rw-r--r--   1 root root     1285  1月  5 21:47 dracut.conf
drwxr-xr-x.  2 root root        6  1月  5 21:47 dracut.conf.d
-rw-r--r--.  1 root root      112  3月  6  2015 e2fsck.conf
-rw-r--r--.  1 root root        0  8月 12  2015 environment
-rw-r--r--.  1 root root     1317  6月 10  2014 ethertypes
-rw-r--r--.  1 root root        0  6月  7  2013 exports
drwxr-xr-x.  6 root root     4096 10月 31  2016 fail2ban
lrwxrwxrwx.  1 root root       56  9月 14  2016 favicon.png -> /usr/share/icons/hicolor/16x16/apps/fedora-logo-icon.png
-rw-r--r--.  1 root root       70  8月 12  2015 filesystems
drwxr-x---.  5 root root     4096  9月 14  2016 firewalld
drwxr-xr-x   3 root root       36  3月 11 12:29 fonts
-rw-r--r--.  1 root root       20  6月 24  2014 fprintd.conf
-rw-r--r--   1 root root     1094  2月 10  2016 freetds.conf
-rw-r--r--.  1 root root      501  9月 14  2016 fstab
drwxr-xr-x.  2 root root        6  5月 12  2015 gcrypt
-rw-r--r--.  1 root root      265  9月 11  2015 gdbinit
drwxr-xr-x.  2 root root        6  9月 11  2015 gdbinit.d
drwxr-xr-x   3 root root       17  3月 11 12:29 ghostscript
drwxr-xr-x.  2 root root        6  6月 10  2014 gnupg
drwxr-xr-x.  4 root root       38  9月 14  2016 groff
-rw-r--r--   1 root root      722  3月 14 09:43 group
-rw-r--r--.  1 root root      710  3月 13 09:18 group-
drwx------.  2 root root     4096  9月 14  2016 grub.d
lrwxrwxrwx.  1 root root       22  9月 14  2016 grub2.cfg -> ../boot/grub2/grub.cfg
----------   1 root root      582  3月 14 09:43 gshadow
----------.  1 root root      572  3月 13 09:18 gshadow-
drwxr-xr-x.  3 root root       19  9月 14  2016 gss
-rw-r--r--.  1 root root        9  6月  7  2013 host.conf
-rw-r--r--.  1 root root       21 11月  1  2016 hostname
-rw-r--r--   1 root root      159  3月  8 11:48 hosts
-rw-r--r--.  1 root root      370  6月  7  2013 hosts.allow
-rw-r--r--.  1 root root      460  6月  7  2013 hosts.deny
drwxr-xr-x   5 root root       86  3月 11 12:30 httpd
lrwxrwxrwx.  1 root root       11  9月 14  2016 init.d -> rc.d/init.d
-rw-r--r--.  1 root root      511  8月  3  2016 inittab
-rw-r--r--.  1 root root      942  6月  7  2013 inputrc
drwxr-xr-x.  2 root root     4096  9月 14  2016 iproute2
-rw-r--r--.  1 root root       23 12月  9  2015 issue
-rw-r--r--.  1 root root       22 12月  9  2015 issue.net
-rw-r--r--.  1 root root     7156  9月 14  2016 kdump.conf
drwxr-xr-x.  3 root root       23  9月 14  2016 kernel
-rw-r--r--.  1 root root      495  4月  1  2016 krb5.conf
-rw-r--r--   1 root root    39907  3月 14 09:43 ld.so.cache
-rw-r--r--.  1 root root       28  2月 28  2013 ld.so.conf
drwxr-xr-x.  2 root root     4096  3月 14 09:43 ld.so.conf.d
drwxr-xr-x   9 root root     4096  3月 13 09:35 letsencrypt
-rw-r-----   1 root root      191  4月 19  2017 libaudit.conf
drwxr-xr-x.  2 root root       33  9月 14  2016 libnl
drwxr-xr-x.  6 root root     4096  9月 14  2016 libreport
-rw-r--r--.  1 root root     2391 10月 13  2013 libuser.conf
-rw-r--r--   1 root root       16  3月  9 12:18 locale.conf
-rw-r--r--   1 root root      370  2月 10  2016 locales.conf
lrwxrwxrwx.  1 root root       32  9月 14  2016 localtime -> ../usr/share/zoneinfo/Asia/Tokyo
-rw-r--r--.  1 root root     2028  3月  6  2015 login.defs
-rw-r--r--.  1 root root      662  7月 31  2013 logrotate.conf
drwxr-xr-x.  2 root root     4096  3月 14 09:43 logrotate.d
drwxr-xr-x.  3 root root       41  9月 14  2016 lsm
drwxr-xr-x.  6 root root       94  9月 14  2016 lvm
-rw-r--r--   1 root root       33  3月  8 11:48 machine-id
-rw-r--r--   1 root root       38 11月  1  2016 machine-info
-rw-r--r--.  1 root root      111 11月 20  2015 magic
-rw-r--r--.  1 root root     1968 12月 17  2014 mail.rc
-rw-r--r--   1 root root      272  5月 15  2013 mailcap
-rw-r--r--.  1 root root     5122  2月 17  2016 makedumpfile.conf.sample
-rw-r--r--.  1 root root     5171  6月 10  2014 man_db.conf
-rw-r--r--   1 root root    51787  5月 15  2013 mime.types
-rw-r--r--.  1 root root      936  3月  6  2015 mke2fs.conf
drwxr-xr-x.  2 root root        6  9月 15  2016 modprobe.d
drwxr-xr-x.  2 root root        6  3月  7 22:27 modules-load.d
-rw-r--r--.  1 root root       51  3月  8 11:48 motd
lrwxrwxrwx.  1 root root       17  9月 14  2016 mtab -> /proc/self/mounts
-rw-r--r--   1 root root      960 12月 28 13:10 my.cnf
-rw-r--r--   1 root root      960 12月 28 13:10 my.cnf.20180314
drwxr-xr-x   2 root root        6 12月 28 13:10 my.cnf.d
-rw-r--r--.  1 root root     8892  6月 10  2014 nanorc
-rw-r--r--.  1 root root      767 11月 20  2015 netconfig
-rw-r--r--.  1 root root       58  8月  3  2016 networks
drwxr-xr-x   3 root root     4096  3月 13 09:35 nginx
-rw-r--r--   1 root root     1728 10月 31  2016 nsswitch.conf
-rw-r--r--.  1 root root     1717  9月 14  2016 nsswitch.conf.bak
drwxr-xr-x.  2 root root       36  9月 14  2016 ntp
-rw-r--r--   1 root root      577  8月  6  2015 odbcinst.ini
drwxr-xr-x.  3 root root       34  9月 14  2016 openldap
drwxr-xr-x.  2 root root        6  8月 12  2015 opt
-rw-r--r--.  1 root root      393 12月  9  2015 os-release
drwxr-xr-x.  2 root root     4096  3月 14 09:39 pam.d
-rw-r--r--   1 root root     1556  3月 14 09:43 passwd
-rw-r--r--.  1 root root     1503  3月 11 12:30 passwd-
-rw-r--r--   1 root root     4024  2月 28 00:12 php-fpm.conf
drwxr-xr-x   2 root root       45  3月 11 13:00 php-fpm.d
drwxr-xr-x   2 root root     4096  3月 11 12:30 php-zts.d
drwxr-xr-x   2 root root     4096  3月 11 12:30 php.d
-rw-r--r--   1 root root    60618  3月 11 12:38 php.ini
-rw-r--r--.  1 root root     2872  6月 10  2014 pinforc
drwxr-xr-x.  3 root root       20  9月 14  2016 pkcs11
drwxr-xr-x.  9 root root       91  9月 14  2016 pki
drwxr-xr-x.  2 root root       27  9月 14  2016 plymouth
drwxr-xr-x.  5 root root       49  9月 14  2016 pm
drwxr-xr-x.  5 root root       69  9月 14  2016 polkit-1
-rw-r--r--   1 root root      219  2月 10  2016 pool.conf
drwxr-xr-x.  2 root root        6  6月 10  2014 popt.d
drwxr-xr-x.  2 root root       28  3月 14 09:39 postfix
drwxr-xr-x.  3 root root     4096  9月 14  2016 ppp
drwxr-xr-x.  2 root root       75  9月 14  2016 prelink.conf.d
-rw-r--r--.  1 root root      233  6月  7  2013 printcap
-rw-r--r--.  1 root root     1750  6月  7  2013 profile
drwxr-xr-x.  2 root root     4096  9月 14  2016 profile.d
-rw-r--r--.  1 root root     6545  6月  7  2013 protocols
drwxr-xr-x.  2 root root       34 10月 31  2016 python
drwxr-xr-x. 10 root root     4096  3月 13 09:18 rc.d
lrwxrwxrwx   1 root root       13  3月 13 09:18 rc.local -> rc.d/rc.local
lrwxrwxrwx.  1 root root       10  9月 14  2016 rc0.d -> rc.d/rc0.d
lrwxrwxrwx.  1 root root       10  9月 14  2016 rc1.d -> rc.d/rc1.d
lrwxrwxrwx.  1 root root       10  9月 14  2016 rc2.d -> rc.d/rc2.d
lrwxrwxrwx.  1 root root       10  9月 14  2016 rc3.d -> rc.d/rc3.d
lrwxrwxrwx.  1 root root       10  9月 14  2016 rc4.d -> rc.d/rc4.d
lrwxrwxrwx.  1 root root       10  9月 14  2016 rc5.d -> rc.d/rc5.d
lrwxrwxrwx.  1 root root       10  9月 14  2016 rc6.d -> rc.d/rc6.d
lrwxrwxrwx.  1 root root       14  9月 14  2016 redhat-release -> centos-release
-rw-r--r--   1 root root      105  3月  8 11:48 resolv.conf
-rw-r--r--.  1 root root     1634 12月 25  2012 rpc
drwxr-xr-x.  2 root root     4096  9月 14  2016 rpm
-rw-r--r--.  1 root root      458 11月 21  2015 rsyncd.conf
-rw-r--r--.  1 root root     3232  9月  8  2015 rsyslog.conf
drwxr-xr-x.  2 root root       24  3月 13 09:18 rsyslog.d
-rw-r--r--.  1 root root      927  8月  3  2016 rwtab
drwxr-xr-x.  2 root root        6  8月  3  2016 rwtab.d
drwxr-xr-x.  2 root root        6  3月 14 09:39 sasl2
drwxr-xr-x.  3 root root       32  9月 14  2016 scl
-rw-------.  1 root root      221  8月 12  2015 securetty
drwxr-xr-x.  6 root root     4096  9月 14  2016 security
drwxr-xr-x.  5 root root       76  3月 13 09:18 selinux
-rw-r--r--.  1 root root   670293  6月  7  2013 services
-rw-r--r--   1 root root      216  8月  4  2017 sestatus.conf
drwxr-xr-x.  2 root root     4096  9月 14  2016 setuptool.d
----------   1 root root      996  3月 14 09:43 shadow
----------.  1 root root      975  3月 11 12:30 shadow-
-rw-r--r--.  1 root root       95  9月 14  2016 shells
drwxr-xr-x.  2 root root       59  9月 14  2016 skel
drwxr-xr-x.  3 root root       71  9月 14  2016 smartmontools
-rw-r--r--.  1 root root      256  2月 17  2016 sos.conf
drwxr-xr-x.  2 root root     4096  3月  9 12:47 ssh
drwxr-xr-x.  2 root root       18  9月 14  2016 ssl
-rw-r--r--.  1 root root      212  8月  3  2016 statetab
drwxr-xr-x.  2 root root        6  8月  3  2016 statetab.d
drwxr-xr-x.  2 root root        6 11月 21  2015 subversion
-rw-r-----.  1 root root     3181  4月  1  2016 sudo-ldap.conf
-rw-r-----.  1 root root     1786  4月  1  2016 sudo.conf
-r--r-----   1 root root     4220  3月  9 12:27 sudoers
drwxr-x---.  2 root root        6  4月  1  2016 sudoers.d
drwxr-xr-x.  6 root root     4096  3月 13 09:18 sysconfig
-rw-r--r--.  1 root root      432  3月  8 11:48 sysctl.conf
drwxr-xr-x.  2 root root       27  3月  7 22:27 sysctl.d
lrwxrwxrwx.  1 root root       14  9月 14  2016 system-release -> centos-release
-rw-r--r--.  1 root root       23 12月  9  2015 system-release-cpe
drwxr-xr-x.  4 root root     4096  3月 13 09:18 systemd
-rw-------.  1 tss  tss      7046 11月 21  2015 tcsd.conf
drwxr-xr-x.  2 root root        6  6月 11  2014 terminfo
drwxr-xr-x.  2 root root       24  3月  7 22:27 tmpfiles.d
-rw-r--r--   1 root root      375  9月 28  2016 trusted-key.key
drwxr-xr-x.  2 root root       67 10月 31  2016 tuned
drwxr-xr-x.  3 root root       51  3月 13 09:18 udev
-rw-r--r--.  1 root root      508  1月 27  2014 updatedb.conf
-rw-r--r--.  1 root root      889  8月  8  2013 usb_modeswitch.conf
drwxr-xr-x.  2 root root     8192  9月 14  2016 usb_modeswitch.d
-rw-r--r--.  1 root root       40  9月 14  2016 vconsole.conf
-rw-r--r--.  1 root root     1982  6月 10  2014 vimrc
-rw-r--r--.  1 root root     1982  6月 10  2014 virc
-rw-r--r--.  1 root root     4479 10月 31  2014 wgetrc
drwxr-xr-x.  2 root root       32  9月 14  2016 wpa_supplicant
drwxr-xr-x.  4 root root       36  9月 14  2016 xdg
drwxr-xr-x.  2 root root        6  8月 12  2015 xinetd.d
drwxr-xr-x.  6 root root     4096  9月 14  2016 yum
-rw-r--r--.  1 root root      970 12月  4  2015 yum.conf
drwxr-xr-x.  2 root root     4096  3月 14 09:41 yum.repos.d


文字コードの設定


文字コードをUTF-8へ変更
・「/etc/my.cnf」をviで開いて、次の2項目を最終行へ追記
・skip-character-set-client-handshake」を設定すると、クライアントの応答が全てUTF-8になる
$ sudo vi /etc/my.cnf
character_set_server=utf8
skip-character-set-client-handshake


設定を反映させるため、MySQLを再起動
$ systemctl restart mysqld.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: ★★
Password:
==== AUTHENTICATION COMPLETE ===


確認
$ mysql -u root -p
mysql> show variables like 'char%';
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.21 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

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> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)

mysql>


パスワード強度を下げる


デフォルトで4種類の文字を含まないといけない
・rootパスワードに関してはともかく、一般DBユーザのパスワード強度はもっとゆるく設定しておかないと面倒
※「rootユーザ」と「一般DBユーザ」のパスワード強度切り分けは出来ない

「/etc/my.cnf」の最終行あたりに下記を追記
$ sudo vi /etc/my.cnf
validate_password_length=6
validate_password_policy=LOW


設定を反映させるため、MySQLを再起動
$ systemctl restart mysqld.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: ★★
Password:
==== AUTHENTICATION COMPLETE ===


確認
mysql> SHOW VARIABLES LIKE 'validate_password%';    
                                                                     
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    2
Current database: *** NONE ***

+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 6     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.01 sec)

mysql>


その他


MySQL5.7は、各種設定のデフォルト値がマイナーバージョンで異なる
・例えば、MySQL5.7.4から5.7.10までは、パスワードの有効期限のデフォルト値が360日だったが、MySQL5.7.11以降は無期限に変更された

既存設定の移行

 閲覧数:125 投稿日:2018-03-14 更新日:2018-03-15 

my.cnf


新規の現状
$ sudo find / -type f -ls  | fgrep my.cnf
[sudo] password for ★★: 
find: ‘/proc/10362/task/10362/fdinfo/6’: そのようなファイルやディレクトリはありません
find: ‘/proc/10362/fdinfo/6’: そのようなファイルやディレクトリはありません
4944255    4 -rw-r--r--   1 root     root         1079  3月  5 10:14 /etc/my.cnf    


$ cat /etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

character_set_server=utf8
skip-character-set-client-handshake
validate_password_length=6
validate_password_policy=LOW


既存
$ sudo find / -type f -ls  | fgrep my.cnf  
[sudo] password for ★★: 
find: `/proc/20675/task/20675/fdinfo/5': そのようなファイルやディレクトリはありません
find: `/proc/20675/fdinfo/5': そのようなファイルやディレクトリはありません
4982494    4 -rw-r--r--   1 root     root          960  3月 16  2017 /etc/my.cnf.org
4986151    4 -rw-r--r--   1 root     root         1468 10月 18 22:21 /etc/my.cnf
4996286    4 -rw-r--r--   1 root     root          438 10月 14  2014 /etc/my.cnf-20160212
4985128    4 -rw-r--r--   1 root     root          406 10月 14  2014 /etc/my.cnf.org.20141014
4983882    4 -rw-r--r--   1 root     root         1317  2月 13  2016 /etc/my.cnf.rpmsave
4983873    4 -rw-r--r--   1 root     root         1066  1月 15  2016 /etc/my.cnf.rpmnew


$ cat /etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#default-time-zone = 'Asia/Tokyo'
log_timestamps=SYSTEM
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
character_set_server=utf8mb4
#loose-mecab-rc-file=MYSQL_HOME/lib/mecab/etc/mecabrc
loose-mecab-rc-file=/usr/lib64/mysql/mecab/etc/mecabrc
innodb_ft_min_token_size = 1
validate-password=OFF

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

innodb_file_per_table
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION


[mysql]
default-character-set=utf8

[client]
default-character-set=utf8mb4

[mysqldump]
default-character-set=utf8mb4

log-error=/var/log/mysqld.log
# pid-file=/var/run/mysqld/mysqld.pid


[mysqld]


log_timestamps=SYSTEM
・新規追加
・エラーログに出力される時間のタイムゾーンを指定
・デフォルト値は「UTC(協定世界時)」
・「SYSTEM」を指定することで、サーバに指定されているタイムゾーンを設定することができる
MySQL5.7.17インストール / MySQL5.6.34 からのバージョンアップ対応

datadir=/var/lib/mysql
・データディレクトリ
※デフォルトで設定済

socket=/var/lib/mysql/mysql.sock
・UNIXドメインソケット
※デフォルトで設定済

character_set_server=utf8mb4
・utf8をutf8mb4へ変更

validate-password=OFF
・前工程で追加した「validate_password_length=6」「validate_password_policy=LOW」をコメントアウト
MySQL5.7でCREATE USERするときのパスワードチェックを無効にする方法

loose-mecab-rc-file=/usr/lib64/mysql/mecab/etc/mecabrc
MySQL 5.7.6のInnoDB日本語全文検索 MeCab Plugin

innodb_ft_min_token_size = 1
12.9.6 MySQL の全文検索の微調整

innodb_file_per_table
・MySQL 5.6.6とそれ以降ではデフォルトでONになっているオプション
・innodb_file_per_tableを有効にすることで,InnoDBの各テーブルのデータとインデックスを個別のファイル管理にすることができる
・MySQL5.7なので設定不要

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
MySQL5.6 
MySQL5.7.19で、datetime型の'0000-00-00'と'2017-10-00'を使用可にする
システム変数ピックアップ

[client]


default-character-set=utf8mb4



最終的に

 閲覧数:124 投稿日:2018-03-15 更新日:2018-03-15 

my.cnf


「skip-character-set-client-handshake」設定しているので、[client]は不要な気もする
・良く分からないので、取り敢えず追記した

[mysqldump]
・調査するも良く分からなかったので、既存内容をそのまま踏襲した

$ sudo vi /etc/my.cnf
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

character_set_server=utf8mb4
skip-character-set-client-handshake

validate-password=OFF

log_timestamps=SYSTEM

loose-mecab-rc-file=/usr/lib64/mysql/mecab/etc/mecabrc
innodb_ft_min_token_size = 1

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

[client]
default-character-set=utf8mb4

[mysqldump]
default-character-set=utf8mb4


設定を反映させるため、MySQLを再起動
$ systemctl restart mysqld.service

my.cnf
my.confファイルの[client]グループと[mysql]グループについて
MySQL 5.7 インストールと設定メモ


8回目-11.MySQL5.7.21インストール

8回目-13.phpMyAdminインストール。調査段階で一旦終了



週間人気ページランキング / 9-14 → 9-20
順位 ページタイトル抜粋 アクセス数
1 PHPのmb_send_mail関数でメール送信できない | メール処理システム 29
2 Nginx設定。エラーログレベル | Nginx(Webサーバ) 21
3 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 11
4 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 10
5 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 9
6 PHP Version 7.1.2 php-mecabエクステンション対応 / PHP 7.0.14 からのアップグレード  | MeCab(形態素解析) 8
6 ソースからビルドしたPython 2.7.3 アンインストール失敗 | Python(プログラミング言語) 8
7 touch コマンド / viコマンド。新規ファイル作成時の違い | Linuxコマンド 7
7 さくらVPS0 7
8 9回目-13.MySQL5.7.21設定 | CentOS 7 2週間無料のお試し期間 9回目(さくらVPS) 6
8 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 6
9 PHPファイルでchmodエラー | PHP(プログラミング言語) 5
9 設定 2019/1/22 / 一般ユーザがmailコマンドでメール送信 / 管理者がmailコマンドでメール送信 5
10 Postfix | メール処理システム 4
10 CentOSでcpコマンド動作確認するためには、Control + T ではなく、 -v オプションを使用 | cp(Linuxコマンド) 4
10 499 (Request has been forbidden by antivirus) | HTTP(通信プロトコル) 4
10 tar | Linuxコマンド 4
10 Python 3.6 インストール / make altinstall | Python(プログラミング言語) 4
10 「CentOS6」から「CentOS7」への移行 | CentOS 7 (CentOS) 4
10 echo と cat の違い 4
2021/9/21 1:01 更新