とりあえずメモレベル。後で追記してく。

読み取り専用ユーザーの作成。

 -- どのホストから接続しても利用できるように'%'を指定する.
mysql> GRANT SELECT ON development.* to 'read_only_user'@'%' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.01 sec)

mysql> SELECT Host, User, Password FROM mysql.user;
+-----------+-------------+-------------------------------------------+
| Host      | User        | Password                                  |
+-----------+-------------+-------------------------------------------+
| %         | root           | *4235AB08DF5304B8EB842A7349D37C64B8B1EFB8 |
| %         | read_only_user | *64BB40CA633F94974EEEB2CE10D74D753EF8F8EC |
+-----------+-------------+-------------------------------------------+
5 rows in set (0.01 sec)

-- 作成したユーザーの権限を確認する.
mysql> SHOW GRANTS FOR 'read_only_user'@'%';
+-------------------------------------------------------------------------+
| Grants for read_only_user@%                                                |
+-------------------------------------------------------------------------+
| GRANT USAGE ON . TO 'read_only_user'@'%' IDENTIFIED BY PASSWORD <secret> |
| GRANT SELECT ON development.* TO 'read_only_user'@'%'                    |
+-------------------------------------------------------------------------+
2 rows in set (0.00 sec)

-- mysqlデータベース内の供与テーブルから権限を再ロードする(設定の反映).
mysql> flush privileges;

参考サイト