9回目-13.MySQL5.7.21設定

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

一覧

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

内容


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

自動起動 / 起動

 閲覧数:128 投稿日:2018-03-23 更新日:2018-03-23 

自動起動


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

起動


$ sudo systemctl start mysqld.service  


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

 閲覧数:145 投稿日:2018-03-23 更新日:2018-03-23 

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


A temporary password is generated for root@localhost: ☆☆
・eCurTqHB5e#d
$ 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: eCurTqHB5e#d


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:


現在のrootパスワードを入力
・自動生成されたランダム文字列
eCurTqHB5e#d
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) :

・「パスワードの推定強度:100」なので、ここはNでも良かったかも
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


一般的な初期設定

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

現状確認


$ 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バックアップ


念のためオリジナルの設定ファイルをバックアップしておく

コピー実行
・-pオプション … コピー元のファイル属性を保存
・-iオプション(--interactive) … 上書き時に確認をする
・-org … originの略
$ sudo cp -p -i /etc/my.cnf /etc/my.cnf.org
$ ls -la /etc      
合計 1492
drwxr-xr-x. 96 root root 8192 3月 23 12:51 .
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月 22 12:16 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月 23 12:27 alternatives
-rw------- 1 root root 542 3月 22 10:51 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月 22 23:37 audisp
drwxr-x---. 3 root root 102 3月 22 23:37 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月 22 23:48 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月 22 12:16 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月 22 12:16 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月 23 12:30 group
-rw-r--r--. 1 root root 710 3月 22 23:37 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月 23 12:30 gshadow
----------. 1 root root 572 3月 22 23:37 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月 22 10:51 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月 22 12:09 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 39544 3月 23 12:30 ld.so.cache
-rw-r--r--. 1 root root 28 2月 28 2013 ld.so.conf
drwxr-xr-x. 2 root root 4096 3月 23 12:30 ld.so.conf.d
drwxr-xr-x 9 root root 4096 3月 23 12:23 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月 22 11:08 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月 23 12:30 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月 22 10:51 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月 22 10:51 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
drwxr-xr-x 2 root root 6 12月 28 13:10 my.cnf.d
-rw-r--r-- 1 root root 960 12月 28 13:10 my.cnf.org
-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月 23 12:23 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月 23 12:27 pam.d
-rw-r--r-- 1 root root 1556 3月 23 12:30 passwd
-rw-r--r--. 1 root root 1503 3月 22 12:09 passwd-
-rw-r--r-- 1 root root 4023 3月 2 20:49 php-fpm.conf
drwxr-xr-x 2 root root 40 3月 22 12:47 php-fpm.d
drwxr-xr-x 2 root root 4096 3月 22 12:16 php-zts.d
drwxr-xr-x 2 root root 4096 3月 22 12:16 php.d
-rw-r--r-- 1 root root 62297 3月 22 12:38 php.ini
-rw-r--r-- 1 root root 62221 3月 22 12:33 php.ini.org
-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月 23 12:27 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月 22 23:37 rc.d
lrwxrwxrwx 1 root root 13 3月 22 23:37 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月 22 10:51 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月 22 23:37 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月 23 12:27 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月 22 23:37 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月 23 12:30 shadow
----------. 1 root root 975 3月 22 12:09 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月 22 11:42 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月 22 11:18 sudoers
drwxr-x---. 2 root root 6 4月 1 2016 sudoers.d
drwxr-xr-x. 6 root root 4096 3月 22 23:37 sysconfig
-rw-r--r--. 1 root root 432 3月 22 10:51 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月 22 23:37 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月 22 23:37 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月 23 12:29 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以降は無期限に変更された

既存設定の移行

 閲覧数:105 投稿日:2018-03-23 更新日:2018-03-23 

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

最終的に

 閲覧数:128 投稿日:2018-03-23 更新日:2018-03-23 

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 インストールと設定メモ


9回目-12.MySQL5.7.21インストール

9回目-14.phpMyAdmin 4.7.9 インストール&設定



週間人気ページランキング / 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 更新