MySQL5.7の接続設定

MySQL5.7の最低限の設定をまとめます。

設定ファイルに追記

$ vi /etc/my.cnf
[mysqld]
# 文字コードをUTF-8にする
character-set-server = utf8
# パスワードの有効期限を無くす
default_password_lifetime = 0

設定ファイル読み込み

$ systemctl restart mysqld

設定確認

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)

ポート開放

$ firewall-cmd --zone=public --permanent --add-port=3306/tcp
$ systemctl restart firewalld

リモートアクセスの許可設定

初期状態

$ mysql -u root -p
mysql> select user, host from mysql.user;
+-----------+-----------+
| user | host |
+-----------+-----------+
| mysql.sys | localhost |
| root | localhost |
+-----------+-----------+
2 rows in set (0.00 sec)

ローカルからリモートアクセス用の権限を付与

例)192.168.0.0からの接続を許可する
GRANT ALL PRIVILEGES ON *.* TO root@"192.168.0.%" IDENTIFIED BY '{passwd}' WITH GRANT OPTION;

ユーザリストを確認する

mysql> select user, host from mysql.user;
+-----------+-------------+
| user | host |
+-----------+-------------+
| root | 192.168.2.% |
| mysql.sys | localhost |
| root | localhost |
+-----------+-------------+
3 rows in set (0.00 sec)

コメントする