LoginSignup
71

More than 5 years have passed since last update.

mysql server で外部から接続できるユーザを作成する。

Last updated at Posted at 2016-02-22

概要

今回mysqlサーバに外部から接続して動きを確認したかったので、vagrantを使用してcentosサーバの中にmysqlをインストールし、mysqlサーバを構築しようと考えた。(centosサーバを構築した状態からスタート。)

サーバ構築後、外部から接続できるユーザの発行を少し調べたのでメモに残そうと思います。

作業内容

まずはサーバにsshでログインし、mysqlをインストールする。

$ yum install mysql-server
$ vi /etc/my.cnf

必要最小限ですが、my.cnfを修正する。

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# 下記のcharacter-setを追加してやる。
character-set-server = utf8

...

修正が終わったらmysqlを起動する。

$ /etc/init.d/mysqld start

下記のような感じで外部から接続できるユーザを作る。

> grant all privileges on [db_name].* to [user_name]@"[ip_address]" identified by '[password]' with grant option;

今回はすべての権限を持っていて、どこからでもアクセスできるようにしたかったので、ワイルドカードを使用して以下のようなユーザを作成した。
(権限はもちろんすべてのDBにアクセスできる)

$ mysql -u root
> grant all privileges on *.* to test_user1@"%" identified by 'test1234' with grant option;
> select user,host from mysql.user;

# 上記で設定したアクセス権限でユーザが作られているか確認する。
# 今回は  test_user1 が % (どこからでも)になっているか確認できる。

+------------+-----------------------+
| user       | host                  |
+------------+-----------------------+
| test_user1 | %                     |
| root       | 127.0.0.1             |
|            | localhost             |
| root       | localhost             |
|            | localhost.localdomain |
| root       | localhost.localdomain |
+------------+-----------------------+

あとは、mysqlを再起動してmysqlクライアントがインストールされている端末から下記のコマンドでアクセスしてみる。

$ mysql -h [ip or address] -u [user_name] -p

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
71